1. 程式人生 > >Python 學習筆記之字符串

Python 學習筆記之字符串

ali 列表 rjust alt src 運算 檢測 ror 技術

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))
檢查字符串是否以 obj 結束,如果beg 或者 end 指定則檢查指定的範圍內是否以 obj 結束,如果是,返回 True,否則返回 False.

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 學習筆記之字符串