教為學:Python學習之路(四):字串字串也是序列
我之所以說這句話,也就是說序列的操作,字串同樣都具備。
格式化字串
我對格式化字串特別有感情,因為很久很久以前,我學第一門語言C語言的時候,在我學習譚浩強的那本書的時候,我花了多少時間去記憶那格式化字元的標號。現在全忘了,很多的時候,我們學了很多沒一點用的東西,所以很多的時候,我們要記住重點。那些格式,你要用的時候,去查唄,記有病嗎?而且那破東西十分打擊別人的信心。
代碼如下:
- print "int:%d,string:%s"%(33,"String")
結果如下:
- int:33,string:String
在要列印的字串裡面用%d和%s進行佔位,然在整列字串後面%()加入要代入的字串。
至於%d是整數預留位置,%s是字串預留位置。
當有一天這張表都救不了你了,搜尋是最簡單的方法?
方法
Python有最方便的協助文檔,所以一個個的方法示範沒什麼必要。
源碼:
- a="str"
- print dir(a)
結果:
- ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
常用方法在下面,我們示範幾個尋找協助。
- a="str"
- help(a.find)
-
- Help on built-in function find:
-
- find(...)
- S.find(sub [,start [,end]]) -> int
-
- Return the lowest index in S where substring sub is found,
- such that sub is contained within S[start:end]. Optional
- arguments start and end are interpreted as in slice notation.
-
- Return -1 on failure.
第一個參數為你所要尋找的字串,從哪裡開始尋找和到哪裡結束尋找是可選的。
傳回值是整形,當傳回值為-1的是時候表示尋找失敗。
- a="strtrtr"
- help(a.replace)
-
- Help on built-in function replace:
-
- replace(...)
- S.replace(old, new[, count]) -> string
-
- Return a copy of string S with all occurrences of substring
- old replaced by new. If the optional argument count is
- given, only the first count occurrences are replaced.
三個參數第一個是需要替代的字串,第二個是被替代的字串,第三個可選是舊的字串裡面的第幾個匹配的被替換。
查看協助就不一一介紹了。