#capitalize 使字符串首字母大寫 test = 'afaASN' v1 = test.capitalize() print(v1)
Afaasn
test = 'afaASN' v1 = test.casefold() print(v1) # casefold 將字符串所有轉爲小寫 # casefold 也能夠將非英文轉爲小寫 # lower 只支持英文字母轉爲小寫
afaasn
# 按照給定字符和總寬度居中顯示 # 以下共輸出15個字符 # t共佔8個字符 # 其他7個字符位用e進行填充 t = 'cYxFbFbB' v = t.center(15,'e') print(v)
eeeecYxFbFbBeee
# str.count(sub, start, end) # 子字符串在原字符串中的個數。 # sub -- 須要搜索的子字符串 # start -- 字符串開始搜索的位置,不填默認0 # end -- 字符串結束搜索的位置,不填爲最後 t = 'cYxFbFbB' v = t.count('b',5,7) print(v)
1
# str.encode # encoding="utf-8", errors="strict" # encoding -- 編碼方式,errors -- 錯誤的處理方案。 # 默認爲 'strict',是編碼錯誤引發一個UnicodeError。 # 其餘可能得值有 'ignore'--‘ ’, 'replace'--‘?’, 'xmlcharrefreplace'-- 可擴展標記語言替換, # 'backslashreplace'--反斜槓替代 以及codecs.register_error() 註冊的全部值。 s = "aaa" v = s.encode('ascii') print(v)
b'aaa'
# (suffix, start, end) # suffix -- 子字符串 # start -- 長字符串中的開始位置,默認0 # end -- 長字符中結束位置,默認最後 a = 'd,cf,gtr,bnfg' v1 = a.endswith("g", ) print('v1: ', v1) v2 = a.endswith('fg') print('v2: ', v2) v3 = a.startswith('d') print('v3: ', v3) v4 = a.startswith('c') print('v4: ', v4) v5 = a.endswith(',', 2, 9) print('v5: ', v5)
v1: True
v2: True
v3: True
v4: False
v5: True
# (tabsize=8) # 把Tab--‘\t’變爲其餘長度的空格符,'\t'默認爲8 a = 'j\tj\tj\t\ng\tg\tg\t' v = a.expandtabs(9) print(v)
j j j
g g g
# (self, sub, start=None, end=None) # 檢測字符串中是否包含子字符串sub,start(開始)到end(結束) # 若是包含子字符串,則返回開始的(最小的)索引值,不然返回-1。 # 默認爲0和最後 a = 'jfunsjfbbvdf' v = a.find('fb',3,-1) print(v) v1 = a.find('fv') print(v1) #輸出爲 -1 表示沒有找到
6 -1
a = 'jfunsjfbbvdf' v2 = a.rfind('f') print(v1) # 輸出最大索引
11
與find用法相似git
a = "你是{0}麼?你是{1}麼?" v = a.format('狗子','屎蛋') print(v)
你是狗子麼?你是狗蛋麼?
format 的另外一種用法api
l = ['狗子','屎蛋'] li = ['a','b'] a = '你不是{0[0]},就是{1[1]}'.format(l,li) print(a)
你不是狗子,就是b
format 填充app
a = '{0:%<10}'.format('二貨') print(a) a1 = '{0:&>10}'.format('二貨') print(a1) a2 = '{0:@^10}'.format('二貨') print(a2)
二貨%%%%%%%%
&&&&&&&&二貨
@@@@二貨@@@@
format 精度與進制ide
# 保留幾位小數 a = '{0:.3f}'.format(1/3) print(a) a1 = '{0:.1f}'.format(1/3) print(a1)
0.333 0.3
# 轉換爲二進制 a2 = '{0:b}'.format(8) print(a2) # 轉換爲八進制 a3 = '{0:o}'.format(8) print(a3)
1000 10
# 千分位格式化 a = '{:,}'.format(111111111111) print(a)
111,111,111,111
# 與str.format(**mapping)相似 # 區別在於format_map直接用字典,而不是複製一個 # 下面是官方例子,其中Default是dict的一個子類。 class Default(dict): def __missing__(self, key): return key print("{name} was born in {country}".format_map(Default(name="Guide")))
Guide was born in country
# str, beg=0, end=len(string) # 與str.find相似 # 區別在於,index若是找不到要尋到的字符,會獲得ValueError # 而find則返回-1。 print("djfdnvjdfdvhb".find("i")) print("sffdvbv".index("i"))
Traceback (most recent call last): -1 File "C:/Users/123/PycharmProjects/py2018/test", line 6, in <module> print("sffdvbv".index("i")) ValueError: substring not found
# str, beg=0, end=len(string) # 用法與str.rindex一致 # 這個獲得的是結束的(最大的)索引值。 print("jfbvjdsvbskj".rindex("j"))
11
# 若是字符串至少有一個字符,而且全部字符都是字母或數字則返回 True,不然返回 False print('vbvhfb3453456'.isalnum()) print('dchj@#$124'.isalnum())
True
False
# 若是字符串至少有一個字符,而且全部字符都是字母或漢字則返回 True,不然返回 False。 print('gnvj陳'.isalpha()) print('bfv!陳'.isalpha())
True
False
# 3個都是判斷字符串是否是數字字符 # str.isdecimal() 表面上就是: str 是阿拉伯數字123456這樣的爲True,漢字數字,羅馬數字爲False # str.isdigit() 除了漢字數字爲False,其餘數字都爲True,包括單字節數字b" "。 # str.isnumeric() 除了單字節數字b" "是Error,全部的數字都爲True。 print('1234'.isdecimal()) print('二②'.isdecimal()) print('二②'.isdigit()) print('②2'.isdigit()) print('c2!'.isnumeric()) print('3二②'.isnumeric())
True
False
False
True
False
True
# 檢測字符串是不是字母開頭。 print('hh12'.isidentifier()) print('!23fd'.isidentifier()) print('12cfg'.isidentifier())
True
False
False
#若是字符串中的全部字符都是小寫,而且至少有一個字符,則返回True,不然返回False。 print('bh'.islower()) print('Hh'.islower())
True
False
#判斷是否是都爲可見/可打印字符 print('oo\noo\too'.isprintable()) print('oo oo'.isprintable())
False
True
#判斷是否爲空格字符(注意不是空) print(' '.isspace()) print('h h'.isspace())
True
False
#字面上意思是:判斷字符串能不能作標題 # 判斷每一個單詞首字母是否大寫 print('He He'.istitle()) print('HE HE'.istitle()) print('He he'.istitle())
True
False
False
#把字符串變爲標題格式。 print('he he he '.title())
He He He
#與str.islower()對應 # 若是字符串中的全部字符都是大寫,而且至少有一個字符,則返回True,不然返回False。 print('HHHH'.isupper()) print('Hhh'.isupper())
True
False
#以str做爲分隔符 # 將string全部的元素合併成一個新的字符串 # 若string爲空,則TypeError print('123'.join(['a','b','c','d'])) print('123'.join('asdf'))
a123b123c123d
a123s123d123f
#獲得一個原始字符串左對齊 # 並使用fiichar填充至指定長度的新字符串 # 若指定的長度小於原字符串的長度則返回原始字符串 # 與format的填充用法類似。 # width--指定長度 # fillchar--填充字符串,默認空格字符。 print('asd'.ljust(10,"!")) print('asd'.ljust(2,'@')) print('asd'.ljust(10))
asd!!!!!!!
asd
asd
#獲得一個原始字符串右對齊 # 並使用fiichar填充至指定長度的新字符串 # 若指定的長度小於原字符串的長度則返回原始字符串 # 與format的填充用法類似。(用法與ljust一致)
# 把全部字母轉化爲小寫 # 與str.upper()相對 # 與str.casefold()區別
# 把全部字母轉化爲大寫
# 刪除str左邊全部出如今chars子字符串 # chars爲空時默認空格字符 print(' who are you '.lstrip()) print('who are you '.lstrip('ghw')) print('who are you '.lstrip('Whz'))
who are you
o are you
who are you
# 與str.lstrip(chars)對應且方法一致 # 刪除str右邊全部出如今chars子字符串 # chars爲空時默認空格字符。
# 與str.lstrip(chars)和str.rstrip(chars)用法一致 # 這個是刪除兩邊全部出如今chars子字符串 # chars爲空時默認空格字符。
# 獲得一個用於str.translate()的映射,其實就是一個字典。 # intab--是原始字符 # outtab--翻譯後的字符,長度與intab相等 intab = 'abcde' outtab = '12345' name = 'asdfjhjcdjkle' # str.maketrans獲得的字典翻譯str x = ''.maketrans(intab, outtab) # x就是maketrans獲得的字典 # 字典中的映射是字符對應的Unicode編碼 print(x) print(name.translate(x))
{97: 49, 98: 50, 99: 51, 100: 52, 101: 53}
1s4fjhj34jkl5
# 做用都是字符串分割 # str.partition(char)根據字符串char分割str # 獲得一個3元素元組(只識別第一次出現的字符串)。 # char不能爲空 print('www.baidu.com'.partition('.'))
('www', '.', 'baidu.com')
# str.split(char,count) 根據字符串char分割str # 獲得一個列表(識別全部的char,而且char不包含在列表內) # char默認爲空格符。 # char--子字符串 # count--切割次數,默認所有。 print('www.baidu.com.cn'.split('.',3))
['www', 'baidu', 'com', 'cn']
# 用法與str.partition(char)一致 # str.rpartition(char)根據字符串char分割 # str獲得一個3元素元組(只識別最後一次出現的字符串) # char不能爲空
#與str.split用法一致 # 可是str.rsplit是從後往前工做 # str.split是簽到後工做 print('aswwsdjnvwwnh'.rsplit('ww',1)) print('aswwsdjnvwwnh'.split('ww',1))
['aswwsdjnv', 'nh'] ['as', 'sdjnvwwnh']
# 按照行('\r', '\r\n', \n')分隔,獲得各行元素的列表 # 若是keepends爲 False,不包含換行符 # 若是爲 True,則保留換行符 # 默認爲False print('as\nas\tas\nas\ras'.splitlines()) print('as\nas\tas\nas\ras'.splitlines(False)) print('as\nas\tas\nas\ras'.splitlines(True))
['as', 'as\tas', 'as', 'as'] ['as', 'as\tas', 'as', 'as'] ['as\n', 'as\tas\n', 'as\r', 'as']
把字符串中的 old(舊字符串) 替換成 new(新字符串) # 替換不超過count 次,count爲空時不限次數。 print('asdfghasdf'.replace('as','12',1))
12dfghasdf
# startswith() 方法用於檢查字符串是不是以指定字符串開頭 # 若是是則返回True,不然返回False # start,end未指定範圍,默認0,len(str)-1 print('asdfg'.startswith('as')) print('asdfg'.startswith('as',1,4))
True
False
# 大寫變小寫,小寫變大寫 print('asdfASDFaAsSASas'.swapcase())
ASDFasdfAaSsasAS