課程的安排沒有面面俱到,但會讓你很快明白Python的不一樣,以及最應該掌握的東西。
作完課後練習,若是你仔細看看Test的部分,可以發現google測試框架gtest的影子。
google Python course 地址:google Python coursejava
每一個 Python 的字符串實際上都是一個'str'類python
In [1]:string2 ='hello,world!' In [2]:type(string2) <class str>
字符串可使用單引號和雙引號,一般咱們更習慣於使用單引號git
反斜槓(eg. n \' \") 在單引號和雙引號中均可以正常使用框架
在雙引號中能夠是使用單引號,反之在單引號中也可使用雙引號,這並無值得奇怪的地方函數
在字符串的末尾使用 表示換行測試
使用三個單引號或者雙引號,表示這是多行的文本。該方法也能夠用來作註釋。google
Python的字符串是"不可變的",意味着建立以後不容許修改。 雖然字符串不能被改變,可是咱們能夠建立新的字符串,並經過計算獲得一個新的字符串。eg. 'hello' +'world' 兩個字符串鏈接,造成一個新的字符串 'helloworld'spa
In [3]: string1 ='hello' In [4]: string = ' world' In [5]: string1 + string Out[5]: 'hello world'
字符串中的字符,能夠經過列表的[ ]語法訪問,像C++和Java同樣。Python 字符串的索引是從0開始的。code
與java不一樣的是,字符串鏈接中的'+'不能自動將其餘類型轉換爲字符類型。咱們須要顯式的經過str()函數進行轉換。索引
In [3]: pi = 3.14 In [4]: str1 = 'PI is ' In [5]: print str1 + pi Traceback (most recent call last): File "", line 1, in TypeError: cannot concatenate 'str' and 'float' objects In [6]: print str1+str(pi) out [6]: PI is 3.14
針對Python3,對於整數除法,咱們應該是用兩個斜槓 //
在Python2中,默認 / 便是整數除 ,在Python3中應該使用 //
In [1]: 6 / 5 out[1]:1.2 In [2]: 6 // 5 out[2]: 1
r'text'表示一個原生字符串。原生字符串會忽略特殊字符,直接打印字符串內的內容。
In [7]: string3 ='hello,\n\n world!' In [8]: str_raw =r'hello,\n\n world!' In [9]: print(string3) hello, world! In [10]: print(str_raw) hello,\n\n world!
字符串方法
s.lower(), s.upper() --字符串大小寫轉換
s.strip() -- 去掉字符串首尾的空格
s.isalpha()/s.isdigit()/s.isspace()... -- 測試字符串是否爲所有字符組成/數字/空格
s.startswith('other'), s.endswith('other') --測試字符串是否以給定的字符串開頭或結尾
s.find('other') -- 查找給定字符串,返回首次匹配的索引,若是沒有找到返回-1
s.replace('old', 'new') --字符串替換
s.split('delim') -- 以指定字符,拆分字符串,返回拆分後的字符串列表。默認按照空格拆分。
s.join(list) -- 以指定字符鏈接列表
list =['I','am','good','man'] >>> ','.join(list) 'I,am,good,man'
字符串切片
s='hello'
s[1:4] is 'ell' -- 從索引1開始,但不包括4
s[1:] is 'ello' -- 從1開始,一直到字符串結尾
s[:] is 'Hello' -- 整個字符串
s[1:100] is 'ello' -- 從1開始,一致到字符串結尾(最大值超過字符串長度,將以字符串長度截斷)