創(chuàng)建字符串
字符串是 Python 中最常用的數(shù)據(jù)類型。我們可以使用引號('或")來創(chuàng)建字符串。
var1 = 'Hello World!'
var2 = "Runoob"
查
- 索引查找和切割
var1 = 'Hello World!'
var2 = "Runoob"
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])
Python字符串運算符
下表實例變量a值為字符串 "Hello",b變量值為 "Python":
| in | 成員運算符 - 如果字符串中包含給定的字符返回 True | 'H' in a 輸出結(jié)果 True |
|---|---|---|
| not in | 成員運算符 - 如果字符串中不包含給定的字符返回 True | 'M' not in a 輸出結(jié)果 True |
| % | 格式字符串 | |
| + | 字符串連接 | |
| * | 重復(fù)字符串 | |
| [] | 通過索引獲取字符串中字符 | a[1] 輸出結(jié)果 e |
| [:] | 截取字符串中的一部分,遵循左閉右開原則,str[0,2] 是不包含第 3 個字符的。 | a[1:4] 輸出結(jié)果 ell |
Python字符串格式化
用法是將一個值插入到一個有字符串格式符 %s 的字符串中。
print ("我叫 %s 今年 %d 歲!" % ('小明', 10))
我叫 小明 今年 10 歲!
| %s | 格式化字符串 |
|---|---|
| %d | 格式化整數(shù) |
| %f | 格式化浮點數(shù),可指定小數(shù)點后的精度,%0.2f(保留兩位小數(shù)) |
Python三引號
python三引號允許一個字符串跨多行,字符串中可以包含換行符、制表符以及其他特殊字符。實例如下
一個典型的用例是,當你需要一塊HTML或者SQL時,這時用字符串組合,特殊字符串轉(zhuǎn)義將會非常的繁瑣。
errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
cursor.execute('''
CREATE TABLE users (
login VARCHAR(8),
uid INTEGER,
prid INTEGER)
''')
Python 的字符串內(nèi)建函數(shù)
| 字符串.capitalize()字符串第一個字母換成大寫 | str.capitalize() |
|---|---|
| 字符串.count(str,beg=,end=)統(tǒng)計指定的范圍內(nèi)出現(xiàn)的次數(shù) | str.count(“p”,0,10) |
| bytes.decode(encoding="utf-8", errors="strict")/str_utf8.decode('UTF-8','strict') | Python3 中沒有 decode 方法,但我們可以使用 bytes 對象的 decode() 方法來解碼給定的 bytes 對象,這個 bytes 對象可以由 str.encode() 來編碼返回。 |
| encode(encoding='UTF-8',errors='strict') | |
| endswith(suffix, beg=0, end=len(string))/print (Str.endswith("!", 0, 19)) | 檢查字符串是否以 obj 結(jié)束,如果beg 或者 end 指定則檢查指定的范圍內(nèi)是否以 obj 結(jié)束,如果是,返回 True,否則返回 Fals |
| find(str, beg=0 end=len(string)) | 檢測 str 是否包含在字符串中,如果指定范圍 beg 和 end ,則檢查是否包含在指定范圍內(nèi),如果包含返回開始的索引值,否則返回-1 |
| index(str, beg=0, end=len(string)) | 跟find()方法一樣,只不過如果str不在字符串中會報一個異常. |
| isalnum() | 如果字符串至少有一個字符并且所有字符都是字母或數(shù)字則返 回 True,否則返回 False(只能是數(shù)字和字母) |
| isalpha() | 如果字符串至少有一個字符并且所有字符都是字母則返回 True, 否則返回 False |
| isdigit() | 如果字符串只包含數(shù)字則返回 True 否則返回 False.. |
| islower() | 所有(區(qū)分大小寫的)字符都是小寫,則返回 True,否則返回 False |
| isspace() | 如果字符串中只包含空白,則返回 True,否則返回 False. |
| istitle() | 如果字符串中所有的單詞拼寫首字母是否為大寫,且其他字母為小寫則返回 True,否則返回 False. |
| isupper() | 如果字符串中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是大寫,則返回 True,否則返回 False |
| join(seq) | 以指定字符串作為分隔符,將 seq 中所有的元素(的字符串表示)合并為一個新的字符串 |
| len(string) | 返回字符串長度 |
| ljust(width[, fillchar]) | 返回一個原字符串左對齊,并使用 fillchar 填充至長度 width 的新字符串,fillchar 默認為空格。 |
| lower() | 轉(zhuǎn)換字符串中所有大寫字符為小寫. |
| lstrip() | 截掉字符串左邊的空格或指定字符。 |
| replace(old, new [, max]) | 把 將字符串中的 str1 替換成 str2,如果 max 指定,則替換不超過 max 次。 |
| rfind(str, beg=0,end=len(string)) | Python rfind() 返回字符串最后一次出現(xiàn)的位置,如果沒有匹配項則返回-1。 |
| split(str="", num=string.count(str)) | num=string.count(str)) 以 str 為分隔符截取字符串,如果 num 有指定值,則僅截取 num 個子字符串 |
| startswith(str, beg=0,end=len(string)) | 檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定范圍內(nèi)檢查。 |
| strip([chars]) | Python strip() 方法用于移除字符串頭尾指定的字符(默認為空格)或字符序列。注意:該方法只能刪除開頭或是結(jié)尾的字符,不能刪除中間部分的字符。 |
| title() | 返回"標題化"的字符串,就是說所有單詞都是以大寫開始,其余字母均為小寫(見 istitle()) |
| upper() | 轉(zhuǎn)換字符串中的小寫字母為大寫 |