Python 學習筆記之字符串
1.字符串的創建:
在Python中,字符串的創建簡單易懂
創建一個空的字符串,str = str();
可以直接創建 str = "i love py3"
這種方式作用相當於:str = str("i love py3");
或者是 str =‘i love py3‘
無論是單引號還是雙引號都是可以的。
對於相同內容的字符串,Py3中將他們指向同一個位置:
id a is 5207040 id b is 5207040
2.字符串值的引用:
在Python中,字符串值的引用和c++相似,把字符串比較成一個數組,下標是從 0 開始的
def funstr(): str = "i love python"; print("第三個是:",str[2]); def main(): funstr(); main();
輸出結果是:
第三個是: l
除了對於單個字符的引用,Python中對於子串的引用也是非常簡單的,比如說 str[:6]代表的就是從第一個開始引用的第六個
下標從 0 ~ 5 , str2 = str[:6] = "i love";
引用中經常調用的相關函數,len max min
len is 6 max character is t min character is a
對於字符串的輸出和遍歷,常用的有直接遍歷和按照下標遍歷:
按照下標遍歷:
也可以寫成如下形式
for ch in a:
print(ch,end=‘‘);
直接遍歷可以直接print
3.字符串的操作:
對於字符串來說,無非就是增添兩種操作:
增加:
在尾部加入字符串: a = a + b ; 就可以完成這項工作。
a+a = a*2;乘號也是增加運算的一種:
str1 = ‘abc‘;
str2 = str1*3 = ‘abcabcabc‘;
大概思路就是這樣。
減少 ,直接用 str[begin:end] 截取就好
輸出結果是‘abc’
4.字符串字節的判斷:
判斷字符(串)是否在串中: in & not in 函數
返回值是布爾類型:
輸出結果是b in a , b 可以是字符串,也可以是字符,就是這麽隨便。
對於字符串的比較與c++ string 類相同,可以用> < = ! 等符號在字典序的基礎上進行比較。
5.字符串常用函數
Python 的字符串常用內建函數如下:
序號 | 方法及描述 |
---|---|
1 |
capitalize() |
2 |
center(width, fillchar) 返回一個指定的寬度 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 |
expandtabs(tabsize=8) 把字符串 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 |
isalnum() 如果字符串至少有一個字符並且所有字符都是字母或數字則返 回 True,否則返回 False |
11 |
isalpha() 如果字符串至少有一個字符並且所有字符都是字母則返回 True, 否則返回 False |
12 |
isdigit() 如果字符串只包含數字則返回 True 否則返回 False.. |
13 |
islower() 如果字符串中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是小寫,則返回 True,否則返回 False |
14 |
isnumeric() 如果字符串中只包含數字字符,則返回 True,否則返回 False |
15 |
isspace() 如果字符串中只包含空白,則返回 True,否則返回 False. |
16 |
istitle() 如果字符串是標題化的(見 title())則返回 True,否則返回 False |
17 |
isupper() 如果字符串中包含至少一個區分大小寫的字符,並且所有這些(區分大小寫的)字符都是大寫,則返回 True,否則返回 False |
18 |
join(seq) 以指定字符串作為分隔符,將 seq 中所有的元素(的字符串表示)合並為一個新的字符串 |
19 |
len(string) 返回字符串長度 |
20 |
ljust(width[, fillchar]) 返回一個原字符串左對齊,並使用 fillchar 填充至長度 width 的新字符串,fillchar 默認為空格。 |
21 |
lower() 轉換字符串中所有大寫字符為小寫. |
22 |
lstrip() 截掉字符串左邊的空格或指定字符。 |
23 |
maketrans() 創建字符映射的轉換表,對於接受兩個參數的最簡單的調用方式,第一個參數是字符串,表示需要轉換的字符,第二個參數也是字符串表示轉換的目標。 |
24 |
max(str) 返回字符串 str 中最大的字母。 |
25 |
min(str) 返回字符串 str 中最小的字母。 |
26 |
replace(old, new [, max]) 把 將字符串中的 str1 替換成 str2,如果 max 指定,則替換不超過 max 次。 |
27 |
rfind(str, beg=0,end=len(string)) 類似於 find()函數,不過是從右邊開始查找. |
28 |
rindex( str, beg=0, end=len(string)) 類似於 index(),不過是從右邊開始. |
29 |
rjust(width,[, fillchar]) 返回一個原字符串右對齊,並使用fillchar(默認空格)填充至長度 width 的新字符串 |
30 |
rstrip() 刪除字符串字符串末尾的空格. |
31 |
split(str="", num=string.count(str)) num=string.count(str)) 以 str 為分隔符截取字符串,如果 num 有指定值,則僅截取 num 個子字符串 |
32 |
splitlines([keepends]) 按照行(‘\r‘, ‘\r\n‘, \n‘)分隔,返回一個包含各行作為元素的列表,如果參數 keepends 為 False,不包含換行符,如果為 True,則保留換行符。 |
33 |
startswith(str, beg=0,end=len(string)) 檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定範圍內檢查。 |
34 |
strip([chars]) 在字符串上執行 lstrip()和 rstrip() |
35 |
swapcase() 將字符串中大寫轉換為小寫,小寫轉換為大寫 |
36 |
title() 返回"標題化"的字符串,就是說所有單詞都是以大寫開始,其余字母均為小寫(見 istitle()) |
37 |
translate(table, deletechars="") 根據 str 給出的表(包含 256 個字符)轉換 string 的字符, 要過濾掉的字符放到 deletechars 參數中 |
38 |
upper() 轉換字符串中的小寫字母為大寫 |
39 |
zfill (width) 返回長度為 width 的字符串,原字符串右對齊,前面填充0 |
40 |
isdecimal() 檢查字符串是否只包含十進制字符,如果是返回 true,否則返回 false。 |
Python 學習筆記之字符串