Python學習 詳細解說字串符 [一點資訊]
前面說了正式開始學Python了,也略微詳細的說了一些知識點,既然是正式開始了,那麼剛開始的話肯定是偏向於剛開始學Python的朋友們了,先打好基礎,慢慢再深入學習。昨天有個學生和我聊這個,說是開始的時候是覺得很簡單吶,一直是急著學,學了一段時間了,昨天和我說回來補基礎了,基礎不紮實,考試的時候都不會。所以我覺得大家不要覺得Python簡單就急著上趕著學,快是沒有用的,重要的在於對細節的把握。簡單並不代表你就可以不上心了,希望朋友們用心學了。
今天也繼續開始說說這些個知識點,現在要說哪個點? 字串符
字元串是 Python 中最常用的數據類型。我們可以使用引號("或")來創建字元串。
創建字元串很簡單,只要為變數分配一個值即可。例如:
var1 = "Hello World!"var2 = "Python Runoob"
其實大部分程序員編程中很多代碼都在處理字元串,在Python中操作字元串非常的方便,讓我們開始吧:
1、單引號,雙引號,三引號字元串
在Python中我們可能看到對字元串有的人用雙引號來括起來,有的用單引號括起來,他們有什麼不同嗎?答案是它們沒有區別,那為什麼要用到雙引號呢,因為如果一個字元串中已經有單引號了,在最外層就必須要用雙引號,否則就會報錯,如下:
>>> "Let"s go!"
File "
", line 1 "Let"s go!"
^
SyntaxError: invalid syntax
>>> "Let"s go!"
"Let"s go!"
那三引號的作用是做什麼的呢?三引號是用來解決如果一行很長,而且裡面又包括一些特殊字元比如換行符等,這時候就用到三引號了,比如:
>>> """Simple million word count program.
... main idea is Python pairs words
... with the number of times
... that number appears in the triple quoted string.
... Credit to William J. Turkel and Adam Crymble for the word
... frequency code used below. I just merged the two ideas.
... """
2、字元串的轉義、拼接、複製
python中的轉義最好理解,它跟shell下一樣,就是在字元前加就可以轉義一個字元,比如
就是回車換行, 就是製表符,如果一個字元串中有單引號或雙引號或者都可以進行轉義,如下:
>>> print "\"
>>> print """
"
>>> print """
"
在Python下字元串拼接是用+號符操作的,非常直觀,例如:
>>> x = "hello"
>>> y = " mindg.cn"
>>> z = x + y
>>> print z
hello mindg.cn
字元串的複製也非常簡單,可以通過*操作符,例如複製20個#符:
>>> print "#" * 20
3、字元串切片
切片操作是字元串的重要特性,在字元串 後面加入就可以提取該位置的單個字元,如果順序是從左到右,記住第一個字元是從0開始,如果是從右到左從-1開始,如下:
>>> letter = "continuation"
>>> letter[0]
"c"
>>> letter[-1]
"n"
>>> letter[-2]
"o"
>>> letter[1]
"o"
除了獲取單個字元,我們還可以用更複雜的方式獲取一段字元,操作格式是[開始:結束:步長],這三個參數沒有嚴格要求必須同時存在,但如果要獲取某段字元至少要有開始或結束,如果都不寫就是獲取整個字元串內容了,如下:
>>> letter[0:4]
"cont"
>>> letter[-5:]
"ation"
>>> letter[0:10:2]
"cniut"
>>> letter[:]
"continuation"
4、字元串格式化
字元串格式化就是對字元輸出時處理,類似C語言的 printf函數,列印出字元,以下是Python格式化符號表:
最簡單的格式化例子如下:
>>> letter
"continuation"
>>> print "%s" %letter
continuation
如果要列印指定點數可以用%f,保留小數點後二位,如下:
>>> num = 0.863
>>> print "%.2f" %num
0.86
從Python2.6版本開始字元串格式化增加了format方法進行格式化,它的格式沒有了%,用{}來替代,如下:
>>> "{name},{url}".format(name="xiaoming",url="mindg.cn")
"xiaoming,mindg.cn"
>>> "{name},{url}".format(url="mindg.cn", name="xiaoming")
"xiaoming,mindg.cn"
用format的好處是後面的參數可以不按順序,如我們的例子,name在前或在後對輸出沒有影響,另外還要記住就是在Python2.6的版本{}里的內容不能為空,2.7的版本可以支持為空:
>>> "{},{}".format("xiaoming", "mindg.cn")
"xiaoming,mindg.cn"
所以有時候你下載一些模塊安裝不上,如果出現這個format錯誤,就表示你目前系統的版本比較低,你要做的要麼升級當前版本,要麼修改下源代碼就可以通過,我是之前碰到過幾次。
今天先說到這裡了 . 明天繼續說這個
推薦閱讀:
※【一點資訊】娛樂圈那些事業當紅,卻英年早逝的明星,真是天妒英才
※給寶寶添加輔食要遵循五大原則,不然易導致孩子腹瀉、便秘! [一點資訊]
※【一點資訊】手相:命硬的女人 (Yidianzixun.com)
※【一點資訊】怎樣預測流年運程吉凶(珍藏版)
※一種思念,無關距離,卻可以海枯石爛 [一點資訊]