Python開發基礎(二)字串常用操作一

2021-09-20 06:43:35 字數 3646 閱讀 6775

一、字串常用拼接操作

#格式化字串

#方式一:在字串後用%函式,把引數傳給字串

#注意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.自右向左,預設索...