day003 筆記

字符串


字符串是使用' 或 "括起來的內(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é))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容