1. 程式人生 > >Str(字串)型別的內建函式(其中有一些你並不在意的細節)

Str(字串)型別的內建函式(其中有一些你並不在意的細節)

常用方法:

注:以Java方式來記錄

str capitalize()    :  作用:將首字母大寫,其它字母全部小寫 。       無參,返回值是str型別

str upper()    :   作用: 將字串全部大寫。       無參,返回值是str型別

str lower()    :   作用: 將字串全部小寫。 

str swapcase()    :    作用 :  將字串中的字元大小寫進行互轉 

str title()     :    作用: 將每個單詞的首字母大寫,其它字母小寫 

str max(str)  :   作用 : 返回字串中最大的字元

str min(str)  :  作用 : 返回字串中最小的字元

int count(str, star_int ,   end_int)    :   作用 : 統計 str 字串 在從star_int到end_int(不包括)範圍內 出現的次數

int find(str, star_int ,   end_int)   :   作用: 在從star_int到end_int(不包括)範圍內 , str 的索引, 如果出現兩次或者以上,只取最後一個的索引。 如果查詢不到,返回 -1

int rfind(str, star_int ,   end_int)   : 作用: 同find  不過是從右邊開始查詢

int index(str, star_int ,   end_int)   :   作用: 在從star_int到end_int(不包括)範圍內 , str 的索引, 如果出現兩次或者以上,只取最後一個的索引。 如果查詢不到,會報錯

int rindex(str, star_int ,   end_int)   : 作用: 同index  不過是從右邊開始查詢

list split(str ,    num)   :   作用:以某字元來切割字串,num 表示切割幾次

list rsplit(str, num) : 作用: 從右邊以某字元來切割字串,num 表示切割幾次

str strip([str]) : 作用:移除字串指定的字元,預設為空格

str lstrip([str])  :   作用 : 移除字串左邊的指定的字元,預設為空格

str rstrip([str])   :   作用  : 移除字串右邊的指定的字元,預設為空格

str replace(old , new, count)   :   作用:  使用 new字元替換原來字串中old字元count次

str join(str)    :   作用   :  用某個字元來拼接字串中的元素

bool starwith(str, star_int ,   end_int)   :   作用:判斷從star_int開始到end_int(不包括)結束,該字串是不是以 str 開始的

bool endwith(str, star_int ,   end_int)   :   作用:判斷從star_int開始到end_int(不包括)結束,該字串是不是以 str 結束的

bool  isdigit()    :    作用  : 判斷該字串是不是純數字組成

bool isnumeric()   :   作用  : 判斷該字串是不是純數字組成

bool isdecimal()  :   作用  : 判斷該字串是不是純數字組成

s.isdigit、isdecimal 和 s.isnumeric 區別

isdigit()

True: Unicode數字,byte數字(單位元組),全形數字(雙位元組)

False: 漢字數字,羅馬數字,小數

Error: 無

isdecimal()

True: Unicode數字,,全形數字(雙位元組)

False: 羅馬數字,漢字數字,小數

Error: byte數字(單位元組)

isnumeric()

True: Unicode 數字,全形數字(雙位元組),漢字數字

False: 小數,羅馬數字

Error: byte數字(單位元組)

bool isalpha()    :      作用   :   判斷該字串是不是由漢字和字母組成

bool isalnum()   :    作用  : 判斷該字串是不是由漢字和數字組成(字串中間不能有空格)

bool isupper()    :    作用 : 判斷該字串是不是全部大寫

bool isspace()   :   作用 :判斷該字串是不是全是空白

str translate(table)   :   作用 : 相當於翻譯表  需要通過maketrans()方法來獲得

str maketrans(intab, outtab)  :  作用 : 建立字元對映的轉換表 , 將字串中的 【intab】 字元,轉為 【oyttab】字元

intab = "Python"
outtab = "aaaaaa"
old_str = str.maketrans(intab, outtab)

demo = "Python是一門簡單的語言"
new_str = demo.translate(old_str)
print(new_str)


結果: aaaaaa是一門簡單的語言

注意: len(intab) == len(outtab)   必須相等!!!!!

 

str encode("編碼格式', errors)   :    作用:指定字串使用 該編碼格式  進行輸出   errors:不同錯誤的設計方案,預設為strict

str decode("編碼格式', errors)   :    作用:指定字串使用 該編碼格式  進行解碼輸出

demo = "Python是一門簡單的語言"
new_demo = demo.encode("GBK")
print(new_demo)
old_demo = bytes(new_demo).decode("GBK", errors='strict')
print(old_demo)

結果:
b'Python\xca\xc7\xd2\xbb\xc3\xc5\xbc\xf2\xb5\xa5\xb5\xc4\xd3\xef\xd1\xd4'
Python是一門簡單的語言

 

format() :  

舉例:
demo = "這是一段{}程式碼,它很{}"
demo_test = demo.format("Python","簡單")

demo = "這是一段{1}程式碼,它很{2}"
demo_test = demo.format("Python","簡單")

demo = "這是一段{a}程式碼,它很{b}"
demo_test = demo.format(a = "Python",b = "簡單")

#  結果:這是一段Python程式碼,它很簡單

補充:

bool isidentifier()  :  作用:判斷該字串是否滿足Python的變數命名規範(但是真實返回False的情況只是:以數字開頭和字串中有特殊字元,如果字串是關鍵字,但這個方法並不會報錯)

str casefold() : 作用: 將字串的全部轉為小寫

兩者的區別是:lower() 方法只對ASCII編碼,也就是‘A-Z’有效,對於其他語言(非漢語或英文)中把大寫轉換為小寫的情況只能用 casefold() 方法。

str  partiton('str') : 作用 : 用某字元將字串進行切割 但返回值是一個 三元的元組, 第一個是該字元切割前半部分,第二個是該字元,第三個是該字元切割的後半部分 

bool isprintable() :作用 :判斷字元的所有字元都是可列印的字元或字串為空返回