一、題外話
之前信誓旦旦說本系列筆記要六月份完成,但是現在幾乎不可能了。為什麼出現這種狀況呢?我這裡反思了以下:
1、學習路線不堅定:
一會兒Python、一會兒Django、mysql、jquery等,使得原本的計劃被打亂。
2、目標不明確:
我想達到什麼樣的程度、我想實現什麼功能等並不明確,導致渙散、敷衍等不好的行為。
那麼接下來就是改正的時候了,還是要多管住自己同時也勉勵自己。
二、序列類型
包含字串、列表、元祖。模式都一樣,舉一反三即可。如:
1、成員關係操作符(in / not in )
2、關於切片
s=[1,2,3,4]print s[::-1] #下標範圍[0,0],步長是-1,則從後(4,包括4)往前切取所有,輸出:[4, 3, 2, 1]print s[::-2] #下標範圍[0,0],步長是-2,則從後(4,包括4)往前跳過2位切取,輸出:[4, 2]print s[::] #下標範圍[0,0],步長是0,則從前(1,包括1)往後切取所有,輸出:[1, 2, 3, 4]print s[::2] #下標範圍[0,0],步長是2,則從前(1,包括1)往後跳過2位切取,輸出:[1, 3]print s[1:4:2] #下標範圍[1,4],步長是2,則從下標為1(2)到下標為4(4)跳過2位切取,輸出:[2, 4]
要靈活運用。
三、關於序列類型的內建函數
如list()、tuple()、str()類型轉換,實際上是工廠函數,淺copy的結果而並非真正的改頭換面(轉換)。
注意在string類型上應用list()、tuple()往往並不能得到我們想要的結果。
序列類型的內建函數一覽表:
cmp()、len()、max()、min()、enumerate()、zip()、
四、Unicode字串
1 >>> 'hello'+u' '+'world'2 u'hello world'
五、字串類型的內建方法
1、不常用的string模組
1 >>> import string 2 >>> string.uppercase 3 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 4 >>> string.lowercase 5 'abcdefghijklmnopqrstuvwxyz' 6 >>> string.whitespace 7 '\t\n\x0b\x0c\r ' 8 >>> string.digits 9 '0123456789'10 >>> string.punctuation11 '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
開啟這個string.py模組,如下:
.......................................# Some strings for ctype-style character classificationwhitespace = ' \t\n\r\v\f'lowercase = 'abcdefghijklmnopqrstuvwxyz'uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'letters = lowercase + uppercaseascii_lowercase = lowercaseascii_uppercase = uppercaseascii_letters = ascii_lowercase + ascii_uppercasedigits = '0123456789'hexdigits = digits + 'abcdef' + 'ABCDEF'octdigits = '01234567'punctuation = """!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"""printable = digits + letters + punctuation + whitespace# Case conversion helpers.......................................
不常用,很多功能可以自己類比。
2、內建函數
join/split:http://www.cnblogs.com/BeginMan/archive/2013/03/21/2972857.html