python中的字串以及內建方法
字串的操作方法
+ 字串連線操作
str1 = "大金鍊子"
str2 = "小手錶"
str3 = str1 + str2
print(str3)
* 字串複製操作
str1 = "大金鍊子"
str2 = "小手錶"
str3 = str1*3
print(str3)
[] 字串索引操作,通過索引訪問指定位置的字元,索引從0開始
[::] 字串取片操作
完整格式:[開始索引:結束索引:間隔值]
[:結束索引] 從開頭擷取到結束索引之前
[開始索引:] 從開始索引擷取到字串的最後
[開始索引:結束索引] 從開始索引擷取到結束索引之前
[:] 擷取所有字串
[開始索引:結束索引:間隔值] 從開始索引擷取到結束索引之前按照指定的間隔擷取字元
r'字串' 元字串,所有字串中的轉義字元不會轉義,當作普通字元
str1 = "大金鍊子小手錶,一天三頓小燒烤,青春獻給小酒桌,怎麼澎湃怎麼喝!"
print(str1[:7])
print(str1[12:15])
print(str1[-8:])
print(str1[36:])
print(str1[::3])
print(str1[::-2])
#擷取"烤燒小"
print(str1[11:14:-1])
#擷取 桌小獻
print(str1[-10:-15:-2])
print(str1[22:17:-2])
字串函式
capitalize()
功能:首字母大寫 格式:字串.capitalize() 返回值:新字串
str2 = str1.capitalize() str3 = str1.title() print(str2) print(str3)
upper()將所有小寫字母變成大寫 lower()將所有大寫字母小寫
str2 = str1.upper()
print(str2)
str3 = str2.lower()
print(str3)
swapcase()大小寫互換
str2 = str1.swapcase()
print(str2)
len() 計算字串的長度
val = len(str1)
print(val)
count() 統計字串中某個元素的數量
val = str1.count("a")
print(val)
find() 查詢某個字串第一次出現的索引位置
str2 = str1.find("t",2,10) print(str2)
startswith() 判斷是否以某個字元為開頭
str2 = str1.startswith("t",4)
print(str2)
endswith() 判斷是否以某個字元結尾
str2 = str1.endswith("T")
print(str2)
isupper() 判斷字串是否都是大寫字母
str3 = "THIS Is A"
str2 = str3.isupper()
print(str2)
islower() 判斷字串是否都是小寫字母
# str3 = "this is " # str2 = str3.islower() # print(str2)
isalnum() 判斷字串是否是由數字、字母、漢字組成
# str3 = "thisisa12" # str2 = str3.isalnum() # print(str2)
isalpha() 判斷字串是否由字母和文字組成
# str3 = "thisisπ" # str2 = str3.isalpha() # print(str2)
isdigit() 判斷是否是由十進位制數字組成的
# str2 = "15" # str3 = str2.isdigit() # print(str3)
isnumeric() 判斷是否是數字組成的字串
# str2 = "123" # str3 = str2.isnumeric() # print(str3)
isdecimal() 判斷是否是數值組成的字串
# str2 = "123" # str3 = str2.isdecimal() # print(str3) # L = ["A","1","bc","26","89",22] # sum1 = 0 # for val in L: # if val.isdigit(): # val1 = int(val) # sum1 += val1 # print(sum1)
isspace() 判斷字串是否由空白符組成
# str3 = "\r\n" # str2 = str3.isspace() # print(str2)
istitle() 判斷字串是否每個單詞都首字母大寫
# str3 = "This Is a Test" # str2 = str3.istitle() # print(str2)
split() 按照指定的字元進行切分,預設按照空格
# str2 = str1.split() # print(str2) # str3 = str1.split("T") # print(str3)
splitlines() 按照換行來進行切分
# str3 = "this is \n a \n test" # str2 = str3.splitlines() # print(str2) # str3 = """this is # a # test""" # str2 = str3.splitlines() # print(str2)
join() 字串拼接
# str1 = "@" # str2 = "this" # str3 = str1.join(str2) # print(str3) # str4 = " ".join(str2) # print(str4) # str5 = ["this "," is","a","test"] # str6 = str1.join(str5) # print(str6)
zfill() 填充字串
# str1 = "this" # str2 = str1.zfill(10) # print(str2)
center() 填充字串 然後字串居中
# str1 = "this" # str2 = str1.center(10,"#") # print(str2)
ljust() 字串居左填充
# str1 = "this" # str2 = str1.ljust(10,"$") # print(str2)
rjust() 字串居右填充
# str1 = "this" # str2 = str1.rjust(10,"%") # print(str2)
strip() 去掉指定的字串 預設去掉換行
# str1 = "this" # print(str1) # str2 = str1.strip("t").strip("h") # print(str2)
rstrip() 從右邊去掉某個字元
# str1 = "this" # print(str1) # str2 = str1.rstrip("s") # print(str2)
lstrip() 從左邊去掉某個字元
# str1 = "this" # print(str1) # str2 = str1.lstrip("t") # print(str2)
maketrans() 和 translate()
""" maketrans() 功能:製作用於字串替換的對映表 格式: 字串.maketrans('查詢字元','替換字元') 兩個字元必須長度相等 返回值:字典 translate() 功能:進行字串替換操作 格式:字串.translate(對映表) 返回值:替換之後的字串 """ # str1 = "this is a test" # str2 = str1.maketrans("t","Y") # print(str2) # str3 = str1.translate(str2) # print(str3)
format 格式化字串
語法: 它通過{}和:來代替%。
注意: 字串的format函式可以接受無限個引數,位置可以不按順序,可以不用或者用多次,不過2.6不能為空{},2.7才可以。
順序傳參
# str1 = "{} say hello to {}" # str2 = str1.format("jack","jerry") # print(str2)
按照索引值進行傳參 注意:大括號中傳遞得是Index值,不要超出索引範圍
# str1 = "{1} say hello to {0}" # str2 = str1.format("jack","jerry") # print(str2)
按照索引來進行傳參
# str1 = "{0[1]} say hello to {0[0]}" # str2 = str1.format(["jack","jerry"]) # print(str2)
關鍵字來進行傳參
# str1 = "{name} is {age} years old!" # str2 = str1.format(name = "tom",age = 100) # print(str2)
填充
""" 居中 ^ 左對齊 < 右對齊 > """ # 填充格式寫在前邊 要填充的字元在format引數中 # str1 = "this" # str2 = "{:$^10}".format(str1) # print(str2) # str1 = "this" # str2 = "{:$<10}".format(str1) # print(str2) # str1 = "this" # str2 = "{:$>10}".format(str1) # print(str2)
調整精度(四捨五入)
# str1 = "{:.2f}".format(1.2434) # print(str1)
進位制轉換
# str1 = "{:b}".format(17) # print(str1) # # str1 = "{:o}".format(17) # print(str1) # # str1 = "{:d}".format(17) # print(str1) # # str1 = "{:x}".format(17) # print(str1)
逗號,還能用來做金額的千位分隔符:
# str1 = "{:,}".format(123456789) # print(str1)