1、str的定義:Python中凡是用引號引發來的數據能夠稱爲字符串類型,組成字符串的每一個元素稱之爲字符,將這些字符一個一個鏈接起來,而後在用引號起來就是字符串。git
2、str的簡單操做方法:api
conut(數)app
split(以...分割)ide
foemat(格式化輸出)spa
replace(元素替換)code
startswith(判斷是以...開頭,返回bool)orm
endswith(判斷是以...結尾,返回bool)對象
strip(去除首尾字符)blog
lstrip(去除首字符)索引
rstrip(去除尾字符)
a = 'Aab123Dd4Aa' # conut(數)startswith(判斷是以...開頭) endswith(判斷是以...結尾) print(a.count("b", 1, 4)) # 1 print(a.startswith("a", 1, 4)) # True print(a.endswith("1", 1, 4)) # True # split(以...分割) print('title,Tilte,atre,'.split('i')) # ['t', 'tle,T', 'lte,atre,'] print('title,Tilte,atre,'.split('t', 2)) # ['', 'i', 'le,Tilte,atre,'] # format 格式化輸出 print('{} {} {}'.format('egon', 18, 'male')) # egon 18 male print('{1} {0} {1}'.format('egon', 18, 'male')) # 18 egon 18 print('{name} {age} {sex}'.format(sex='male', name='egon', age=18)) # egon 18 male # strip 去除首尾字符 name = '*bar*ry**' print(name.strip('*')) # bar*ry print(name.lstrip('*')) # bar*ry** print(name.rstrip('*')) # *bar*ry # replace 元素替換 name = 'alex say :my name is alex' print(name.replace('alex', '替換', 1)) # 替換 say :my name is alex
find(返回元素索引,找不到則返回-1)
index(返回元素索引,找不到則報錯)
capitalize(首字母大寫)
swapcase(大小寫反轉)
title(每一個單詞首字母大寫)
a = 'Aab123Dd4Aa' # find 返回索引,找不到返回-1 print(a.find("2", 1, 7)) # 4 # index 返回索引,找不到則報錯 print(a.index("D", 1, 7)) # 6 # capitalize swapcase title b = 'alex,Taibai jinxiN' print(b.capitalize()) # Alex,taibai jinxin print(b.swapcase()) # ALEX,tAIBAI JINXIn print(b.title()) # Alex,Taibai Jinxin # center c = 'asfht' print(c.center(10, '*')) # **asfht***
is系列
str.isalnum(是否由字母和數字組成)
str.isdigit(是否只由數字組成)
str.isalpha(是否只由字母組成)
str.isupper(是否只由大寫字母組成)
str.islower(是否只由小寫字母組成)
str.istitle(單詞首字母是否爲大寫)
str.isspace(是否只由空格組成)
str.isnumeric(是否只由數字組成,只針對unicode對象)
str.isdecimal(是否只由十進制組成)
d = 'tai Tbai123' print(d.isalnum()) # 檢測字符串是否由字母和數字組成 print(d.isdigit()) # 是否只由數字組成 print(d.isalpha()) # 是否只由字母組成 print(d.isupper()) # 是否只由大寫字母組成 print(d.islower()) # 是否只由小寫字母組成 print(d.istitle()) # 單詞首字母是否爲大寫 print(d.isspace()) # 是否只由空格組成 print(d.isnumeric()) # 是否只由數字組成,只針對unicode對象 print(d.isdecimal()) # 是否只由十進制組成
小練習:若是用戶輸入一段包含字母數字的str,怎麼計算str中數字之和?(將相鄰的數字看做一個總體)
如,輸入:se123reg4rtey54 ,則計算123+4+54的結果
print('---用戶輸入字母數字串,計算所包含的數字之和---') a = input('輸入字母或數字:') for i in a: if i.isalpha(): a = a.replace(i, ' ') get_list = (a.split()) list = [] for f in get_list: list.append(int(f)) sum = sum(list) print(sum)