字符串
字符串是使用' 或 "括起來的內(nèi)容。
轉(zhuǎn)義字符
| 轉(zhuǎn)義字符 | 描述 |
|---|---|
| \\ | 反斜杠 \ |
| \' | 單引號 ' |
| \" | 雙引號 " |
| \n | 換行符 |
| \ t | 制表符 |
阻止轉(zhuǎn)義
可以通過在字符串前加r或R來阻止轉(zhuǎn)義字符轉(zhuǎn)義。
實例:
str1 = "I\'m YeHao ."
str2 = r"I'm YeHao ."
print(str1, str2)
output:
I'm YeHao . I'm YeHao .
Unicode編碼
對于單個字符的編碼,Python提供了ord()函數(shù)獲取字符的整數(shù)表示,chr()函數(shù)把編碼轉(zhuǎn)換為對應(yīng)的字符:
葉 = ord('葉')
浩 = ord('浩')
print(葉, 浩)
print(bin(葉), bin(浩))
print(oct(葉), oct(浩))
print(hex(葉), hex(浩))
print(chr(25105),chr(29233),chr(20320))
Output:
21494 28009
0b101001111110110 0b110110101101001
0o51766 0o66551
0x53f6 0x6d69
我 愛 你
字符串比較大小,從字符串的首字母開始依次往后比較每個字符的大小。
獲取字符串中的字符
python的字符,實質(zhì)上是一個有序的序列。
1. 獲取字符串的長度
使用內(nèi)置函數(shù)len().
count = len('Winter is coming .')
print(count)
Output:
18
2. 通過索引獲取字符串中的某個字符
str1 = 'good good study\nday day up'
# 獲取字符p
length = len(str1)
print(str1[length-1])
Output:
p
字符串倒序
str2 = "GodV"
print(str2[::-1])
Output:
VdoG
字符串運算符
下面實例中a = 'Happy' b = 'Python'
| 操作符 | 描述 | 實例 |
|---|---|---|
| + | 字符串拼接 | a + b 輸出結(jié)果:HappyPython |
| * | 重復(fù)輸出字符串 | a * 2輸出結(jié)果:HappyHappy |
| in | 如果字符串包含給定的字符則返回True | 'Ha' in a 輸出結(jié)果:True |
| not in | 如果字符串不包含給定的字符則返回True | 'M' not in a 輸出結(jié)果:True |
字符串格式化
name = '馬云'
age = 54
print('我叫%s,今年%d歲' % (name, age))
Output:
我叫馬云,今年54歲
字符串格式化符號
| 符號 | 描述 |
|---|---|
| %s | 格式化字符串 |
| %d | 格式化整數(shù) |
| %f | 格式化浮點數(shù),可指定小數(shù)點后的精度,默認(rèn)為6 |
| %x或%X | 格式化十六進(jìn)制數(shù),X即大寫 |
字符串操作內(nèi)置函數(shù)
| 序號 | 方法 | 描述 |
|---|---|---|
| 1 | capitalize() | 首字母大寫 |
| 2 | center(width, fillchar) | 讓一個字符串在指定的width內(nèi)居中顯示,fillchar為填充的字符,默認(rèn)為空格 |
| 3 | ljust(width, fillchar) | 靠左對齊 |
| 4 | rjust(width, fillchar) | 靠右對齊 |
| 5 | bytes.decode(encoding="utf-8", errors="strict") | Python3 中沒有 decode 方法,但我們可以使用 bytes 對象的 decode() 方法來解碼給定的 bytes 對象,這個 bytes 對象可以由 str.encode() 來編碼返回。 |
| 6 | encode(encoding='UTF-8',errors='strict') | 以 encoding 指定的編碼格式編碼字符串,如果出錯默認(rèn)報一個ValueError 的異常,除非 errors 指定的是'ignore'或者'replace' |
| 7 | endswith(suffix, beg=0, end=len(string)) | 檢查字符串是否以 obj 結(jié)束,如果beg 或者 end 指定則檢查指定的范圍內(nèi)是否以 obj 結(jié)束,如果是,返回 True,否則返回 False. |
| 8 | count(str, beg=0, end=len(string)) | 計算str在string出現(xiàn)的次數(shù) |
| 9 | expandtabs(tabsize=8) | 把字符串 string 中的 tab 符號轉(zhuǎn)為空格,tab 符號默認(rèn)的空格數(shù)是 8 。 |
| 10 | find(str, beg=0 end=len(string)) | 檢測 str 是否包含在字符串中,如果指定范圍 beg 和 end ,則檢查是否包含在指定范圍內(nèi),如果包含返回開始的索引值,否則返回-1 |
| 11 | index(str, beg=0, end=len(string)) | 跟find()方法一樣,只不過如果str不在字符串中會報一個異常. |
| 12 | isalnum() | 如果字符串至少有一個字符并且所有字符都是字母或數(shù)字則返 回 True,否則返回 False |
| 13 | isalpha() | 如果字符串至少有一個字符并且所有字符都是字母則返回 True, 否則返回 False |
| 14 | isdigit() | 如果字符串只包含數(shù)字則返回 True 否則返回 False.. |
| 15 | islower() | 如果字符串中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是小寫,則返回 True,否則返回 False |
| 16 | isnumeric() | 如果字符串中只包含數(shù)字字符,則返回 True,否則返回 False |
| 17 | isspace() | 如果字符串中只包含空白,則返回 True,否則返回 False. |
| 18 | istitle() | 如果字符串是標(biāo)題化的(見 title())則返回 True,否則返回 False |
| 19 | isupper() | 如果字符串中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是大寫,則返回 True,否則返回 False |
| 20 | join(seq) | 以指定字符串作為分隔符,將 seq 中所有的元素(的字符串表示)合并為一個新的字符串 |
| 21 | len(string) | 返回字符串長度 |
| 22 | lower() | 轉(zhuǎn)換字符串中所有大寫字符為小寫. |
| 23 | lstrip() | 截掉字符串左邊的空格或指定字符。 |
| 24 | rstrip() | 刪除字符串字符串末尾的空格. |
| 25 | strip([chars]) | 在字符串上執(zhí)行 lstrip()和 rstrip() |
| 26 | maketrans() | 創(chuàng)建字符映射的轉(zhuǎn)換表,對于接受兩個參數(shù)的最簡單的調(diào)用方式,第一個參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)。 |
| 27 | max(str) | 返回字符串 str 中最大的字母。 |
| 28 | min(str) | 返回字符串 str 中最小的字母。 |
| 29 | replace(old, new [, max]) | 把 將字符串中的 str1 替換成 str2,如果 max 指定,則替換不超過 max 次。 |
| 30 | rfind(str, beg=0,end=len(string)) | 類似于 find()函數(shù),不過是從右邊開始查找. |
| 31 | swapcase() | 將字符串中大寫轉(zhuǎn)換為小寫,小寫轉(zhuǎn)換為大寫 |
| 32 | upper() | 轉(zhuǎn)換字符串中的小寫字母為大寫 |
| 33 | isdecimal() | 檢查字符串是否只包含十進(jìn)制字符,如果是返回 true,否則返回 false。 |
| 34 | title() | 返回"標(biāo)題化"的字符串,就是說所有單詞都是以大寫開始,其余字母均為小寫(見 istitle()) |
isdigit()和isnumeric()的區(qū)別:
| isdigit() | isnumeric() |
|---|---|
| True: Unicode數(shù)字,byte數(shù)字(單字節(jié)),全角數(shù)字(雙字節(jié)),羅馬數(shù)字 | True: Unicode數(shù)字,全角數(shù)字(雙字節(jié)),羅馬數(shù)字,漢字?jǐn)?shù)字 |
| False: 漢字?jǐn)?shù)字 | False: 無 |
| Error: 無 | byte數(shù)字(單字節(jié)) |