一、字串常用拼接操作
#格式化字串
#方式一:在字串後用%函式,把引數傳給字串
#注意1:如果字串中用到「%」符號,就輸入「%%」
#注意2:float型別前用整數部份表示整數部份的位數,小數部份表示小數點後的位數
print("方式1(%%函式):%5.0d,%3.0d,%4.3f,%s "%(234,12,3.5,123321))
#方式二:字串物件的format函式
#字會串中,用把後序的引數引用起來,如 0:5d 1:3.f
#注意1:要顯示,, }}".format(234,3.5,3.8))
#方式三:字串物件的format函式,指點定變數名
#注意2:這種方式,可以在字串中反覆使用乙個引數值,並且不用關心引數的順序有誤
print("方式3(字串物件的format函式):,,今天的年齡".format(age=18,name="小明"))
以上**輸出:
方式1(%函式): 234, 12,3.500,123321
方式2(字串物件的format函式):
方式3(字串物件的format函式):小明,18,今天的年齡18
二、字串物件的常用函式
#字串的基礎函式
varstrlower = "abcdef0123456789"
varstrupper = "abcdef0123456789"
varstr = "abcdef0123456789"
#判斷字串是否全是大寫或小寫
print("varstrlower.islower()=>",varstrlower.islower())
print("varstrlower.isupper()=>",varstrlower.isupper())
print("varstr.islower()=>",varstr.islower())
print("varstr.isupper()=>",varstr.isupper())
#轉換首字母為大寫
print("varstrlower.isupper()=>",varstrlower.capitalize())
print("\"abcd efg hijk 00123 abc\".isupper()=>","abcd efg hijk 00123 abc".capitalize())
#去除字串前後的空格
print("\" hello \".strip()=>"+" hello ".strip()+".")
#查詢子字串位置
print("\"abcdef\".index(\"cd\")=>".format("abcdef".index("cd")))
#字串字元長度
print('len("abcd")=>',len("abcd"))
print('len("你好")=>',len("你好"))
print('len("你好.")=>',len("你好."))
以上**的輸出結果如下:
varstrlower.islower()=> true
varstrlower.isupper()=> false
varstr.islower()=> false
varstr.isupper()=> false
varstrlower.isupper()=> abcdef0123456789
"abcd efg hijk 00123 abc".isupper()=> abcd efg hijk 00123 abc
" hello ".strip()=>hello.
"abcdef".index("cd")=>2
len("abcd")=> 4
len("你好")=> 2
len("你好.")=> 3
三、字串轉換成byte陣列我們可以使用以下方式把字串轉換成陣列:
#字串轉換成byte陣列
varstr = "123456七八"
varutf8 = bytes(varstr,encoding='utf8')
print("utf8",type(varutf8),",len=",len(varutf8),",data=",varutf8)
vargbk = bytes(varstr,encoding='gbk')
print("gbk",type(vargbk),",len=",len(vargbk),",data=",vargbk)
輸出結果:
utf8 ,len= 12 ,data= b'123456\xe4\xb8\x83\xe5\x85\xab'
gbk ,len= 10 ,data= b'123456\xc6\xdf\xb0\xcb'
在使用過程中要注意,轉換時不能出現不能編碼的情況,比如含有中文的字串轉換為ascii編碼的陣列會報錯,如下圖所示:
四、陣列轉換為字串
#byte陣列轉換成字串
print(str(varutf8, encoding='utf8'))
print(str(vargbk, encoding='gbk'))
同樣的,把gbk編碼的陣列用utf8編碼還原成字串也會報錯,如下圖所示:
五、子字串節取
#子字串擷取
varstr = "0123456789abcdef"
#單個字元
print("取乙個字元:",varstr[1])
#起始與結束位置
print("起始與結束位置:",varstr[1:10])
#如果結束引數比字串大,會取到字串的結尾
print("結束位置過大:",varstr[1:1000])
#從頭開始取
print("從頭開始取:",varstr[:4])
#取到末尾
print("取到末尾:",varstr[4:])
#指定字元間隔
print("指定字元間隔:",varstr[1:10:2])
print("指定字元間隔:",varstr[::2])
輸出如下:
取乙個字元: 1
起始與結束位置: 123456789
結束位置過大: 123456789abcdef
從頭開始取: 0123
取到末尾: 456789abcdef
指定字元間隔: 13579
指定字元間隔: 02468ace
python基礎之二 字串
1.判斷只包含空白字元 空格 換行 製表符 s t n print s.isspace true2.判斷為空值字串物件 s print s true1.以任意個空白字元分割 s 1 2 3 t4 n n5 print s.split 輸出 1 2 3 4 5 2.以指定字元分割 s 1 2 3 t4...
二 字串操作 Python基礎
root kali python3 q work hard q work hard q q.replace w w 將work hard首字母小寫w換成大寫w。q work hard q.find h 5 q work hard 字元h在第5個位置。小寫 大寫 不能改變變數q字串,所以新增乙個新的變...
Python基礎4 字串
python字串是由數字 字母 下劃線組成的一串字元,我們可以使用引號來建立字串。如 str helloworld 在python中沒有char型別,單個字元也作為string使用 python的字串列表有2種取值順序 a.自左向右,預設索引從0開始,索引長度最長為字串長度 1 b.自右向左,預設索...