day03 Python 字串
阿新 • • 發佈:2018-11-10
1、字串格式化方法
s12 = "我叫%s, 今年年%d歲了了, 我喜歡%s" % ('sylar', 18, 'tom') # 之前的寫法 print(s12) s12 = "我叫{}, 今年年{}歲了了, 我喜歡{}".format("tom", 28, "tang") # 按位置格式化 print(s12) s12 = "我叫{0}, 今年年{2}歲了了, 我喜歡{1}".format("tom", "tang", 28) # 指定位置 print(s12) s12 = "我叫{name}, 今年年{age}歲了了, 我喜歡{singer}".format(name="tom", singer="tang", age=28) # 指定關鍵字 print(s12)
2、python字串格式化符號
符 號 | 描述 |
---|---|
%c | 格式化字元及其ASCII碼 |
%s | 格式化字串 |
%d |
格式化整數 |
%u | 格式化無符號整型 |
%o | 格式化無符號八進位制數 |
%x | 格式化無符號十六進位制數 |
%X | 格式化無符號十六進位制數(大寫) |
%f | 格式化浮點數字,可指定小數點後的精度 |
%e | 用科學計數法格式化浮點數 |
%E | 作用同%e,用科學計數法格式化浮點數 |
%g | %f和%e的簡寫 |
%G | %f 和 %E 的簡寫 |
%p | 用十六進位制數格式化變數的地址 |
序號 | 方法及描述 |
---|---|
1 | capitalize() |
2 | 返回一個指定的寬度 width 居中的字串,fillchar 為填充的字元,預設為空格。 |
3 | count(str, beg= 0,end=len(string)) 返回 str 在 string 裡面出現的次數,如果 beg 或者 end 指定則返回指定範圍內 str 出現的次數 |
4 | bytes.decode(encoding="utf-8", errors="strict") Python3 中沒有 decode 方法,但我們可以使用 bytes 物件的 decode() 方法來解碼給定的 bytes 物件,這個 bytes 物件可以由 str.encode() 來編碼返回。 |
5 | encode(encoding='UTF-8',errors='strict') 以 encoding 指定的編碼格式編碼字串,如果出錯預設報一個ValueError 的異常,除非 errors 指定的是'ignore'或者'replace' |
6 | endswith(suffix, beg=0, end=len(string)) |
7 | 把字串 string 中的 tab 符號轉為空格,tab 符號預設的空格數是 8 。 |
8 | find(str, beg=0 end=len(string)) 檢測 str 是否包含在字串中,如果指定範圍 beg 和 end ,則檢查是否包含在指定範圍內,如果包含返回開始的索引值,否則返回-1 |
9 | index(str, beg=0, end=len(string)) 跟find()方法一樣,只不過如果str不在字串中會報一個異常. |
10 | 如果字串至少有一個字元並且所有字元都是字母或數字則返 回 True,否則返回 False |
11 | 如果字串至少有一個字元並且所有字元都是字母則返回 True, 否則返回 False |
12 | 如果字串只包含數字則返回 True 否則返回 False.. |
13 | 如果字串中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是小寫,則返回 True,否則返回 False |
14 | 如果字串中只包含數字字元,則返回 True,否則返回 False |
15 | 如果字串中只包含空白,則返回 True,否則返回 False. |
16 | 如果字串是標題化的(見 title())則返回 True,否則返回 False |
17 | 如果字串中包含至少一個區分大小寫的字元,並且所有這些(區分大小寫的)字元都是大寫,則返回 True,否則返回 False |
18 | 以指定字串作為分隔符,將 seq 中所有的元素(的字串表示)合併為一個新的字串 |
19 | 返回字串長度 |
20 | 返回一個原字串左對齊,並使用 fillchar 填充至長度 width 的新字串,fillchar 預設為空格。 |
21 | 轉換字串中所有大寫字元為小寫. |
22 | 截掉字串左邊的空格或指定字元。 |
23 | 建立字元對映的轉換表,對於接受兩個引數的最簡單的呼叫方式,第一個引數是字串,表示需要轉換的字元,第二個引數也是字串表示轉換的目標。 |
24 | 返回字串 str 中最大的字母。 |
25 | 返回字串 str 中最小的字母。 |
26 | 把 將字串中的 str1 替換成 str2,如果 max 指定,則替換不超過 max 次。 |
27 | rfind(str, beg=0,end=len(string)) 類似於 find()函式,不過是從右邊開始查詢. |
28 | rindex( str, beg=0, end=len(string)) 類似於 index(),不過是從右邊開始. |
29 | 返回一個原字串右對齊,並使用fillchar(預設空格)填充至長度 width 的新字串 |
30 | 刪除字串字串末尾的空格. |
31 | split(str="", num=string.count(str)) num=string.count(str)) 以 str 為分隔符擷取字串,如果 num 有指定值,則僅擷取 num 個子字串 |
32 | 按照行('\r', '\r\n', \n')分隔,返回一個包含各行作為元素的列表,如果引數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。 |
33 | startswith(str, beg=0,end=len(string)) 檢查字串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定範圍內檢查。 |
34 | 在字串上執行 lstrip()和 rstrip() |
35 | 將字串中大寫轉換為小寫,小寫轉換為大寫 |
36 | 返回"標題化"的字串,就是說所有單詞都是以大寫開始,其餘字母均為小寫(見 istitle()) |
37 | translate(table, deletechars="") 根據 str 給出的表(包含 256 個字元)轉換 string 的字元, 要過濾掉的字元放到 deletechars 引數中 |
38 | 轉換字串中的小寫字母為大寫 |
39 | 返回長度為 width 的字串,原字串右對齊,前面填充0 |
40 | 檢查字串是否只包含十進位制字元,如果是返回 true,否則返回 false |
4、切片和索引 str[start:end:step]
- 索引.索引就是下標.切記,下標從0開始。
- 步長: 如果是整數, 則從左往右取. 如果是負數. 則從右往左取。
- 切片,我們可以使⽤用下標來擷取部分字串串的內容 語法: str[start: end]。規則: 顧頭不顧腚, 從start開始擷取. 擷取到end位置.。
s = "123a4b5c" s1 = s[:3] print(s1) # 123 s2 = s[3:6] print(s2) # a4b s3 = s[::2] print(s3) # 1345 s4 = s[1:6:2] print(s4) #2ab s5 = s[-1:] print(s5) c s6 = s[-3::-2] print(s6) # ba2
s7 = s[2:10] # 如果右邊已經過了了最⼤大值. 相當於獲取到最後