1. 字符串的操作
-
字符串的連接操作
符號: + 格式:str1 + str2 例如:str1 = 'I Love' str2 = 'You!' print(str1 + str2) >>> 'I Love You!' 返回值:str -
字符串的復制操作
符號: * 格式:str * num 例如:str = 'abc' num = 3 print(str1 * num) >>> 'abcabcabc' 返回值:str -
字符串的索引操作
符號: [] 格式:str[index] 例如:str = 'abcde' print(str[2]) >>> 'c' 返回值:str -
字符串的切片操作
符號: [::] 格式:str[index:index:step] 例如:str = 'abcdefg' print(str[:]) >>> 'abcdefg' #取字符串所有內容,開頭的0可以忽略 print(str[:3]) >>> 'abc' #取出字符串索引0-3的內容(顧頭不顧尾,不包含索引3的對象) print(str[:5:2]) >>> 'ace' #取出字符串索引0-5的內容,每2個索引取一次 print(str[3:]) >>> 'defg' #取出字符串索引3開始到結尾的內容 print(str[-2:]) >>> 'fg' #取出字符串倒數第2開始到結尾的內容 返回值:str
2. 內置方法
-
連接
格式:x.__add__(y)等同於x+y 返回值:str -
包含
格式:x.__contains__(y) 返回值:bool -
相等
格式:x.__eq__(y)等同於x==y 返回值:bool -
大於等於
格式:x.__ge__(y)等同於x>=y 返回值:bool -
訪問屬性方法(文件操作時用)
格式:x.__getattribute__(self,name) 返回值:tuple -
獲取鍵值對(字典操作時用)
格式:x.__getitem__(key) 返回值:鍵的值 -
大於
格式:x.__gt__(y)等同於x>y 返回值:bool -
哈希值
格式:x.__hash__() 返回值:哈希值,int類型 -
迭代器
格式:x.__iter__() 返回值:迭代器 -
小於等於
格式:x.__le__(y)等同於x<=y 返回值:bool -
長度
格式:x.__len__()等同於len(x) 返回值:int類型 -
小於
格式:x.__lt__() 返回值:布爾類型 -
復制
格式:x.__mul__(y)等同於x*y 返回值:str注::此處的y必須是int類型
-
不等於
格式:x.__ne__(y)等同於x!=y 返回值:bool -
右->左 復制
格式:x.__rmul__(y)等同於y*x 返回值:str注:此處的y必須是int類型
3. 常用方法
-
首字母大寫,后面的小寫
格式:x.capitalize() #開頭第一個單詞首字母大寫,后面的所有字符串全部小寫 例如:x = = 'i am A 好 boy' print(x.capitalize()) >>> 'I am a 好 boy' 返回值:str -
全部字符小寫
格式:x.casefold() #字符串中所有單詞的所有字母全部小寫 例如:x = = 'i am A 好 boy' print(x.casefold()) >>> 'i am a 好 boy' 返回值:str -
居中,兩邊默認以空格填充
格式:x.center() #定義字符串的長度,不足長度時,兩邊以指定字符串進行填充 例如:x = 'abc' print(x.center(20,'*')) >>> '********abc*********' 返回值:str -
計數(默認全文計數)
格式:x.count(str,index1,index2) #指定開始和結束范圍來統計某字符串的個數 例如:x = 'sffefwsf' print(x.count('sf'),0,8) >>> 2 返回值:int類型 -
編碼
格式:x.encode() #指定字符串的編碼格式 例如:x.encode(encoding='utf-8')#轉換為utf-8格式 返回值:bytes -
以什么為結尾
格式:x.endswith(str,index1,index2) #指定字符串的開始和結束范圍,判斷所選區域是否是以指定字符串結尾 例如:x = 'adfd' print(x.endswith('fd',2,3)) >>> True 返回值:bool -
把\t轉換為空格
格式:x.expandtabs() #默認開頭到\t為8個字節,不足以空格填充 例如:x = 'i am\t A\t 好 boy' print(x.expandtabs()) >>> 'i am A 好 boy' 返回值:str -
查找
格式:x.find(str,index1,index2) #指定開始和結束的范圍,查找指定區域內是否由指定的字符串(只返回查找到第一個的索引值) 例如:x = 'asdfdsfsafsaf' print(x.find('df',1,8)) >>> 2 返回值:int類型注:如果find未查找到,將返回為-1
-
格式化
格式:x.format(*args) #字符串的格式化可以有參數,可以無參數,可以是索引值參數,也可以是關鍵字參數 1. 無參數 例如:s1 = 'I {} {} {}' print(s1.format('love','you','!')) >>> 'I love you !' 2. 索引參數 例如:s1 = 'I {0} {1} {0} {1}' print(s1.format('love','you')) >>> 'I love you love you' 注:使用索引參數時,只能按順序,從索引0開始 3. 關鍵字參數 例如:s1 = 'I {m} {n}' print(s1.format(m = 'love',n = 'you')) >>> 'I love you' 4. 格式限定符 填充常和對齊一起使用: ^ < > 分別是居中,左對齊和右對齊,后面帶寬度 : 后面帶填充的字符,只能是一個字符,默認是空格 例如: 無(位置)參數:s1 = 'I love you {}' print(s1.format(', very much !')) >>> 'I love you , very much !' 默認居中方法:s1 = 'I love you {:^18}' print(s1.format(', very much !')) >>> 'I love you , very much ! ' 指定字符居中:s1 = 'I love you {:*^18}' print(s1.format(', very much !')) >>> 'I love you **, very much !***' 指定字符左對齊:s1 = 'I love you {:*<18}' print(s1.format(', very much !')) >>> 'I love you , very much !*****' 指定字符右對齊:s1 = 'I love you {:*>18}' print(s1.format(', very much !')) >>> 'I love you *****, very much !' 5. 精度與類型f 例如:s1 = '圓周率大概是{}' print(s1.format(3.1415926)) >>> '圓周率大概是3.1415926' s1 = '圓周率大概是{:.2f}' print(s1.format(3.1415926)) >>> '圓周率大概是3.14' s1 = '圓周率大概是{:.2f}' print(s1.format(3.1415926)) >>> '圓周率大概是3.1416' 注:精度一般和浮點一起使用,取值時使用四舍五入法 6. 進制操作 主要的進制為b、d、o、x,分別是二、十、八、十六進制 例如: 十進制:s1 = 'The pen values {} yuan!' s1 = 'The pen values {:d} yuan!' print(s1.format(17)) >>> 'The pen values 17 yuan!' 二進制:s1 = 'The pen values {:b} yuan!' print(s1.format(17)) >>> 'The pen values 10001 yuan!' 八進制:s1 = 'The pen values {:o} yuan!' print(s1.format(17)) >>> 'The pen values 21 yuan!' 十六進:s1 = 'The pen values {:x} yuan!' print(s1.format(17)) >>> 'The pen values 11 yuan!' 7. 金融字符,千分位 即, 例如:s1 = 'The phone is {}$ !' print(s1.format(10000000)) >>> 'The phone is 10000000$ !' s1 = 'The phone is {:,}$ !' print(s1.format(10000000)) >>> 'The phone is 10,000,000$ !' 返回值:str -
查找
格式:x.index(str,index1,index2) #用法和find一樣 返回值:int注::當index未查找到,程序將報錯
-
非符號字符串
格式:x.isalnum() #字符串中可以有大小寫,可以有數字,但不可以有符號 返回值:bool -
純字母的字符串
格式:x.isalpha() #字符串中可以有大小寫,但不可以有數字和符號 返回值:bool -
純數字的字符串
格式:x.isdecimal() #字符串中只可以數字 返回值:bool -
純數字的字符串
格式:x.isdigit() #字符串中只可以數字 返回值:bool -
開頭字母的字符串
格式:x.isidentifier() #字符串以字母開頭,可以是大小寫,后面可以有數字,但數字不能開頭 返回值:bool -
全部小寫
格式:x.islower() #字符串全部是小寫,也可以有數字,數字可以開頭,但不能全數字 返回值:bool -
包含中文數字
格式:x.isnumeric() #字符串中可以有數字,也可以有中文大小寫數字 返回值:bool -
可打印
格式:x.isprintable() #打印為空,則為假 返回值:bool -
空格
格式:x.isspace() #字符串中只能是空格 返回值:bool -
標題
格式:x.istitle() #字符串中每個單詞首字母大寫 返回值:bool -
全部大寫
格式:x.isupper() #字符串中可以有數字,數字可以開頭,但必須有大寫字母 返回值:bool -
拼接
格式:x.join(str) #把字符串以指定字符串進行相連 例如:x = 'abcde' print('_'.join(x)) >>> 'a_b_c_d_e' 返回值:str -
左對齊
格式:x.ljust(str) #字符串左對齊,需要指定長度,不足長度時可以用指定字符串進行填充(默認以空格填充),當指定長度小於字符串長度,將會左對齊 例如:x = 'abcde' print(x.ljust(12,'*')) >>> 'abcde*******' 返回值:str -
全部小寫
格式:x.lower() #字符串中所有單詞,所有字母全部小寫 #與casefold()功能一樣 返回值:str -
去除左邊空格
格式:x.lstrip() #去除對字符串左邊的指定字符串,字符串中間和結尾的指定字符串不做處理,默認去除的是空格 例如:x = 'aaafdfdfaaadfdsaaa' print(x.lstrip('a')) >>> 'fdfdfaaadfdsaaa' 返回值:str -
字符串進行分段
格式:x.partition(str) #把字符串以從左到右第一個指定字符串為元素進行分段,以元組形式展現 例如:x = 'acbadfsadfsdfsd' print(x.partition('sa')) >>> ('acbadf', 'sa', 'dfsdfsd') 返回值:tuple -
字符串替換
格式:x.replace(old,new,count) #把字符串中指定的字符串替換為新字符串,默認全部替換,也可以指定替換次數,如果次數超過存在的個數,將全部替換 例如:x = 'acbadfsadfsdfsd' print(x.replace('df','A',7)) >>> 'acbaAsaAsAsd' 返回值:str -
右→左 查找
格式:x.rfind(str,index1,index2) #功能同find()一樣 返回值:int -
右→左 查找
格式:x.rindex(str,index1,index2) #功能同index()一樣 返回值:int -
右對齊
格式:x.rjust(str) #字符串右對齊,需要指定長度,不足長度時可以用指定字符串進行填充(默認以空格填充),當指定長度小於字符串長度,將會右對齊 例如:x = 'adc' print(x.rjust(6,'%')) >>> '%%%adc' 返回值:str -
右→左 字符串分段
格式:x.rpartition(str) #把字符串以從右到左第一個指定字符串進行分段,以元組形式展示 例如:x = 'abccbacbd' print(x.rpartition('cb')) >>> ('abccba', 'cb', 'd') 返回值:tuple -
字符串切片
格式:x.rsplit(str) #把字符串以指定字符串進行切片,並以列表的形式展現 例如:x = 'abccbacbd' print(x.rsplit('cb')) >>> ['abc', 'a', 'd'] 返回值:list -
去除右邊空格
格式:x.rstrip(str) #去除字符串最右邊的指定字符串,左邊和中間的指定字符串不做處理,默認去除的是空格 例如:x = 'aaafdfdfaaadfdsaaa' print(x.rstrip('a')) >>> 'aaafdfdfaaadfds' 返回值:str -
切片
格式:x.split() #把字符串以指定字符串進行切片,並以列表的形式展現 #功能同rsplit()一樣 返回值:list -
換行符分段
格式:x.splitlines() #把字符串以換行符進行切片,並以列表的形式展現 返回值:list -
以什么為開頭
格式:x.startswith(str,index1,index2) #指定字符串的開始和結束范圍,判斷指定區域是否是以指定字符串開頭 例如:x = 'adafsdaf' print(x.startswith('da',1,8)) >>> True 返回值:bool -
去除兩邊空格
格式:x.strip(str) #去除字符串兩邊的指定字符串,中間的指定字符串不做處理,默認去除的是空格 例如:x = 'aaadfsaaafdsfaaa' print(x.strip()) >>> 'dfsaaafdsf' 返回值:str -
大小寫互轉
格式:x.swapcase() #字符串中所有的字母進行大小寫相互轉換 例如:x = 'aBcdE' print(x.swapcase()) >>> 'AbCDe' 返回值:str -
標題化
格式:x.title() #對字符串中所有單詞首字母大寫,單詞中間的大寫全部轉換為小寫 例如:x = 'asd faDSdsf sdf' print(x.title()) >>> 'Asd Fadsdsf Sdf' 返回值:str -
全部變大寫
格式:x.upper() #字符串中所有字母全部轉換為大寫 例如:x = 'DFdgDdfdg' print(x.upper()) >>> 'DFDGDDFDG' 返回值:str -
左對齊,零填充
格式:x.zfill() #字符串左對齊,指定字符串長度,不足部分以0填充 例如:x = 'afd' print(x.zfill(5)) >>> '00afd' 返回值:str -
映射函數
x.maketrans(*args) #把兩個字符串進行一一對應,兩個字符串長度必須一致 格式:str.maketrans(str1,str2) bytearray.maketrans(str1,str2) bytes.maketrans(str1,str2) 返回值:dict -
映射函數
x.translate(*args) #把maketrans()得到的映射表應用出來 格式:x.translate(str.maketrans(str1,str2)) 返回值:str
原文傳送門:請點擊
