python中str常用操作


1. 字符串的操作

  1. 字符串的連接操作

    符號: + 格式:str1 + str2 例如:str1 = 'I Love' str2 = 'You!' print(str1 + str2) >>> 'I Love You!' 返回值:str 
  2. 字符串的復制操作

    符號: * 格式:str * num 例如:str = 'abc' num = 3 print(str1 * num) >>> 'abcabcabc' 返回值:str 
  3. 字符串的索引操作

    符號: [] 格式:str[index] 例如:str = 'abcde' print(str[2]) >>> 'c' 返回值:str 
  4. 字符串的切片操作

    符號: [::] 格式: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. 內置方法

  1. 連接

    格式:x.__add__(y)等同於x+y 返回值:str 
  2. 包含

    格式:x.__contains__(y) 返回值:bool 
  3. 相等

    格式:x.__eq__(y)等同於x==y 返回值:bool 
  4. 大於等於

    格式:x.__ge__(y)等同於x>=y 返回值:bool 
  5. 訪問屬性方法(文件操作時用)

    格式:x.__getattribute__(self,name) 返回值:tuple 
  6. 獲取鍵值對(字典操作時用)

    格式:x.__getitem__(key) 返回值:鍵的值 
  7. 大於

    格式:x.__gt__(y)等同於x>y 返回值:bool 
  8. 哈希值

    格式:x.__hash__() 返回值:哈希值,int類型 
  9. 迭代器

    格式:x.__iter__() 返回值:迭代器 
  10. 小於等於

    格式:x.__le__(y)等同於x<=y 返回值:bool 
  11. 長度

    格式:x.__len__()等同於len(x) 返回值:int類型 
  12. 小於

    格式:x.__lt__() 返回值:布爾類型 
  13. 復制

    格式:x.__mul__(y)等同於x*y 返回值:str 

    注::此處的y必須是int類型

  14. 不等於

    格式:x.__ne__(y)等同於x!=y 返回值:bool 
  15. 右->左 復制

    格式:x.__rmul__(y)等同於y*x 返回值:str 

    注:此處的y必須是int類型

3. 常用方法

  1. 首字母大寫,后面的小寫

    格式:x.capitalize() #開頭第一個單詞首字母大寫,后面的所有字符串全部小寫 例如:x = = 'i am A 好 boy' print(x.capitalize()) >>> 'I am a 好 boy' 返回值:str 
  2. 全部字符小寫

    格式:x.casefold() #字符串中所有單詞的所有字母全部小寫 例如:x = = 'i am A 好 boy' print(x.casefold()) >>> 'i am a 好 boy' 返回值:str 
  3. 居中,兩邊默認以空格填充

    格式:x.center() #定義字符串的長度,不足長度時,兩邊以指定字符串進行填充 例如:x = 'abc' print(x.center(20,'*')) >>> '********abc*********' 返回值:str 
  4. 計數(默認全文計數)

    格式:x.count(str,index1,index2) #指定開始和結束范圍來統計某字符串的個數 例如:x = 'sffefwsf' print(x.count('sf'),0,8) >>> 2 返回值:int類型 
  5. 編碼

    格式:x.encode() #指定字符串的編碼格式 例如:x.encode(encoding='utf-8')#轉換為utf-8格式 返回值:bytes 
  6. 以什么為結尾

    格式:x.endswith(str,index1,index2) #指定字符串的開始和結束范圍,判斷所選區域是否是以指定字符串結尾 例如:x = 'adfd' print(x.endswith('fd',2,3)) >>> True 返回值:bool 
  7. 把\t轉換為空格

    格式:x.expandtabs() #默認開頭到\t為8個字節,不足以空格填充 例如:x = 'i am\t A\t 好 boy' print(x.expandtabs()) >>> 'i am A 好 boy' 返回值:str 
  8. 查找

    格式:x.find(str,index1,index2) #指定開始和結束的范圍,查找指定區域內是否由指定的字符串(只返回查找到第一個的索引值) 例如:x = 'asdfdsfsafsaf' print(x.find('df',1,8)) >>> 2 返回值:int類型 

    注:如果find未查找到,將返回為-1

  9. 格式化

    格式: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 
  10. 查找

    格式:x.index(str,index1,index2) #用法和find一樣 返回值:int 

    注::當index未查找到,程序將報錯

  11. 非符號字符串

    格式:x.isalnum() #字符串中可以有大小寫,可以有數字,但不可以有符號 返回值:bool 
  12. 純字母的字符串

    格式:x.isalpha() #字符串中可以有大小寫,但不可以有數字和符號 返回值:bool 
  13. 純數字的字符串

    格式:x.isdecimal() #字符串中只可以數字 返回值:bool 
  14. 純數字的字符串

    格式:x.isdigit() #字符串中只可以數字 返回值:bool 
  15. 開頭字母的字符串

    格式:x.isidentifier() #字符串以字母開頭,可以是大小寫,后面可以有數字,但數字不能開頭 返回值:bool 
  16. 全部小寫

    格式:x.islower() #字符串全部是小寫,也可以有數字,數字可以開頭,但不能全數字 返回值:bool 
  17. 包含中文數字

    格式:x.isnumeric() #字符串中可以有數字,也可以有中文大小寫數字 返回值:bool 
  18. 可打印

    格式:x.isprintable() #打印為空,則為假 返回值:bool 
  19. 空格

    格式:x.isspace() #字符串中只能是空格 返回值:bool 
  20. 標題

    格式:x.istitle() #字符串中每個單詞首字母大寫 返回值:bool 
  21. 全部大寫

    格式:x.isupper() #字符串中可以有數字,數字可以開頭,但必須有大寫字母 返回值:bool 
  22. 拼接

    格式:x.join(str) #把字符串以指定字符串進行相連 例如:x = 'abcde' print('_'.join(x)) >>> 'a_b_c_d_e' 返回值:str 
  23. 左對齊

    格式:x.ljust(str) #字符串左對齊,需要指定長度,不足長度時可以用指定字符串進行填充(默認以空格填充),當指定長度小於字符串長度,將會左對齊 例如:x = 'abcde' print(x.ljust(12,'*')) >>> 'abcde*******' 返回值:str 
  24. 全部小寫

    格式:x.lower() #字符串中所有單詞,所有字母全部小寫 #與casefold()功能一樣 返回值:str 
  25. 去除左邊空格

    格式:x.lstrip() #去除對字符串左邊的指定字符串,字符串中間和結尾的指定字符串不做處理,默認去除的是空格 例如:x = 'aaafdfdfaaadfdsaaa' print(x.lstrip('a')) >>> 'fdfdfaaadfdsaaa' 返回值:str 
  26. 字符串進行分段

    格式:x.partition(str) #把字符串以從左到右第一個指定字符串為元素進行分段,以元組形式展現 例如:x = 'acbadfsadfsdfsd' print(x.partition('sa')) >>> ('acbadf', 'sa', 'dfsdfsd') 返回值:tuple 
  27. 字符串替換

    格式:x.replace(old,new,count) #把字符串中指定的字符串替換為新字符串,默認全部替換,也可以指定替換次數,如果次數超過存在的個數,將全部替換 例如:x = 'acbadfsadfsdfsd' print(x.replace('df','A',7)) >>> 'acbaAsaAsAsd' 返回值:str 
  28. 右→左 查找

    格式:x.rfind(str,index1,index2) #功能同find()一樣 返回值:int 
  29. 右→左 查找

    格式:x.rindex(str,index1,index2) #功能同index()一樣 返回值:int 
  30. 右對齊

    格式:x.rjust(str) #字符串右對齊,需要指定長度,不足長度時可以用指定字符串進行填充(默認以空格填充),當指定長度小於字符串長度,將會右對齊 例如:x = 'adc' print(x.rjust(6,'%')) >>> '%%%adc' 返回值:str 
  31. 右→左 字符串分段

    格式:x.rpartition(str) #把字符串以從右到左第一個指定字符串進行分段,以元組形式展示 例如:x = 'abccbacbd' print(x.rpartition('cb')) >>> ('abccba', 'cb', 'd') 返回值:tuple 
  32. 字符串切片

    格式:x.rsplit(str) #把字符串以指定字符串進行切片,並以列表的形式展現 例如:x = 'abccbacbd' print(x.rsplit('cb')) >>> ['abc', 'a', 'd'] 返回值:list 
  33. 去除右邊空格

    格式:x.rstrip(str) #去除字符串最右邊的指定字符串,左邊和中間的指定字符串不做處理,默認去除的是空格 例如:x = 'aaafdfdfaaadfdsaaa' print(x.rstrip('a')) >>> 'aaafdfdfaaadfds' 返回值:str 
  34. 切片

    格式:x.split() #把字符串以指定字符串進行切片,並以列表的形式展現 #功能同rsplit()一樣 返回值:list 
  35. 換行符分段

    格式:x.splitlines() #把字符串以換行符進行切片,並以列表的形式展現 返回值:list 
  36. 以什么為開頭

    格式:x.startswith(str,index1,index2) #指定字符串的開始和結束范圍,判斷指定區域是否是以指定字符串開頭 例如:x = 'adafsdaf' print(x.startswith('da',1,8)) >>> True 返回值:bool 
  37. 去除兩邊空格

    格式:x.strip(str) #去除字符串兩邊的指定字符串,中間的指定字符串不做處理,默認去除的是空格 例如:x = 'aaadfsaaafdsfaaa' print(x.strip()) >>> 'dfsaaafdsf' 返回值:str 
  38. 大小寫互轉

    格式:x.swapcase() #字符串中所有的字母進行大小寫相互轉換 例如:x = 'aBcdE' print(x.swapcase()) >>> 'AbCDe' 返回值:str 
  39. 標題化

    格式:x.title() #對字符串中所有單詞首字母大寫,單詞中間的大寫全部轉換為小寫 例如:x = 'asd faDSdsf sdf' print(x.title()) >>> 'Asd Fadsdsf Sdf' 返回值:str 
  40. 全部變大寫

    格式:x.upper() #字符串中所有字母全部轉換為大寫 例如:x = 'DFdgDdfdg' print(x.upper()) >>> 'DFDGDDFDG' 返回值:str 
  41. 左對齊,零填充

    格式:x.zfill() #字符串左對齊,指定字符串長度,不足部分以0填充 例如:x = 'afd' print(x.zfill(5)) >>> '00afd' 返回值:str 
  42. 映射函數

    x.maketrans(*args) #把兩個字符串進行一一對應,兩個字符串長度必須一致 格式:str.maketrans(str1,str2) bytearray.maketrans(str1,str2) bytes.maketrans(str1,str2) 返回值:dict 
  43. 映射函數

    x.translate(*args) #把maketrans()得到的映射表應用出來 格式:x.translate(str.maketrans(str1,str2)) 返回值:str

    原文傳送門:請點擊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM