Python入門 字串巢狀函式

2021-08-26 18:19:22 字數 4818 閱讀 8973

以下介紹python中一些常用的已經巢狀的字串函式,利用這些函式可以使我們在打**的時候不用自己苦逼地自己寫相應的函式,可以讓我們事半功倍,用起來很方便,不過在用之前一定可以要清楚函式相應的引數的意義,如果要知道函式的具體實現,可以按下ctrl+b,就可以檢視。

# 字串

# 1、字串拼接

# 1.1、利用加號

print("i am learning " + "python.") # 這三句結果都為i am learning python.

# 1.2、直接寫在一起

print("i am learning " "python.")

# 1.3、利用佔位符

print("i am learning %s" % "python")

# 1.4、利用乘號

print("nice\t" * 3) # 結果為nice nice nice,每個字串中間都間隔四位

# 2、字串切片

# 2.1、通過下標獲取特定位

str = "abcdefg"

print(str[0]) # 獲取第一位

print(str[-1]) # 獲取最後一位,當下標為負數時,從後往前索引

# 2.2、通過長度來獲取片段,name[start:end:step],獲取範圍是[start,end),

# 當step>0時從左往右,小於0時從右往左

print(str[0:3:2]) # 結果為ac

print(str[-1:0:-2]) # 結果為gec

print(str[::-1]) # 反轉字串

# 3、字串函式

# 3.1、len(name) 字串中字元的個數

# 3.2、查詢計數

# name.find(sub, start, end) 在命名為name的字串中從start到end範圍內查詢子字串,

# 若找到則返回匹配的第乙個字元的下標,找不到則返回-1

name = "i am learning python."

print(name.find("am")) # 結果為2

print(name.rfind("f")) # 結果為-1,rfind()從右往左查詢

# name.index(sub, start, end) 獲取子串的位置,找到則返回索引,找不到則報錯

# name.rindex(sub, start, end) 功能與index()一致,從右往左獲取

print(name.index("am")) # 結果為2

print(name.rindex("am")) # 結果為2

# name.count(sub, start, end) 計算子字串的個數

print(name.count("n")) # 結果為3

# 3.3、轉換函式

# name.replace(old, new, count) 把字串中的子字串轉換成新的,轉換的數目由count決

# 定, count預設為1,返回轉換後的新字串,但注意原字串沒有發生改變。

print(name.replace("n", "m")) # 結果為i am learmimg pythom.

print(name.replace("n", "m", 1)) # 結果為i am learming python.

print(name.replace("i am", "you're", 1)) # 結果為you're learning python.

name = "i am learning python."

print(name.capitalize()) # 將字串的首字母變成大寫,結果為i am learning python.

print(name.title()) # 將字串中每個單詞的首字母變成大寫,結果為i am learning python.

name1 = "i am learning python."

print(name1.lower()) # 將字串中每個字母都變成小寫

print(name1.upper()) # 將字串中每個字母都變成大寫

# 3.4、填充壓縮

# name.ljust(width, char) 當字串的長度小於width時,用字元char填充在字串的右側,

# 直到填充後的長度為width

print(name.ljust(25, 'y')) # 結果為i am learning python.yyyy

print(name.rjust(25, 'y')) # 在字串的左邊填充字元,結果為yyyyi am learning python.

print(name.center(26, 'y')) # 原字串居中,填充的字元分布在兩側,當不能平方時,右側填充的

# 字元數比左側多1,結果為yyi am learning python.yyy

# name.lstrip(chars) 刪除字串中左側指定的字元,當遇到不包括在chars中的字元時停止,

# chars預設為空白符

name = "i aam learning python."

print(name.lstrip("i am")) # 結果為learning python.

print(name.rstrip("no.")) # 刪除右側指定的字元,結果為i aam learning pyth

# 3.5、分割拼接

# name.split(sep, max_split) 把字串分割成子字串,sep為分隔符,max_split為最大的分割

# 次數,如果省略那就是有多少分割多少,返回分割後的子字串組成的列表

str = "123-456-789"

print(str.split("-")) # 結果為['123', '456', '789']

print(str.split("-", 1)) # 結果為['123', '456-789']

# name.partition(sep) 從字串的左側開始查詢分隔符sep,若找到分隔符,則返回乙個元組,

# 由分隔符左側的內容、分隔符、分隔符右側的內容組成

print(str.partition("-")) # 結果為('123', '-', '456-789')

print(str.partition(" ")) # 結果為('123-456-789', '', ''),找不到分隔符就以這種形式返回

# name.rpartition(sep) 從字串的右側開始查詢分隔符sep,與name.partition(sep)功能一致

print(str.rpartition("-")) # 結果為('123-456', '-', '789')

# name.splitlines(keepends) 按換行符\r、\n對字串進行分割,keepends為bool型,

# 表示是否保留換行符,返回由分割後組成的子字串組成的列表

name = "***\rbbb\n"

print(name.splitlines()) # 結果為['***', 'bbb']

print(name.splitlines(true)) # 結果為['***\r', 'bbb\n']

# name.join(iterable) 對可迭代的物件用給定的字串進行拼接,返回拼接後的字串,

# 可迭代的物件包括字串、元組、列表等

name = "***"

item = ["i", "am", "learning"]

print(name.join(item)) # 結果為i***am***learning

# 3.6、判定

# name.isalpha() 判斷字串中所有字元是否都為字母,返回bool型

name = "abn"

print(name.isalpha()) # 結果為true

# name.isdigit() 判斷字串中所有字元是否都為數字,返回bool型

name = "12abn"

print(name.isdigit()) # 結果為false

# name.isalnum() 判斷字串中所有字元是否都為數字或字母,返回bool型

name = "12abn"

print(name.isalnum()) # 結果為true

# name.isspace() 判斷字串中所有字元是否都為空白符,包括空格、縮排、換行等不可見轉義符,

# 返回bool型

name = "\n"

print(name.isspace()) # 結果為true

name = ""

print(name.isspace()) # 結果為false,至少得有乙個字元,否則判定為假

# name.startswith(prefix, start, end) 判斷字串是否以指定的字首開頭

name = "2018.9.1"

print(name.startswith("2018")) # 結果為true

# name.endswith(suffix, start, end) 判斷字串是否以指定的字尾結束

name = "xx.doc"

print(name.endswith(".doc")) # 結果為true

# in 和 not in 判斷乙個字串是否包含在另乙個字串裡面

print("ss" in "i xx sss") # 結果為true

print("am" not in "smm ffn") # 結果為true

python入門 字串

x i.upper if i.islower else i.lower for i in s print join x 或者是 s.swapcase sample input this is a string sample output this is a string def split and ...

python字串函式

對於月份不足兩位補零操作如下 stryearmonth str year str month zfill 2 不足兩位補充0 生成字串變數 strcpy sstr1,sstr2 sstr1 strcpy sstr2 sstr1 sstr1 strcpy2 print sstr2 比較字串 strcm...

python 字串函式

str.count sub 返回 sub在str中出現的次數 str.find sub 返回 從左開始,查詢sub在str中第一次出現的位置。如果str中不包含sub,返回 1 str.index sub 返回 從左開始,查詢sub在str中第一次出現的位置。如果str中不包含sub,舉出錯誤 st...