Python基礎:十七、str 字符串
str字符串(儲存少量數據)
1. 把字符連成串,在python中用‘,",‘‘‘,"""引起來的內容被稱為字符串
2. 索引:索引就是下標,從0開始
3. 用 [] 進行索引
strExample=‘hello world‘ print(strexample[0]) #打印了字符串的第一個字符 h print(strexample[5]) #打印了字符串的第6個字符 空格
4. 切片
a. 我們可以使用下表來截取部分字符串的內容
b. 語法:str[start:end]
c. 規則:顧頭不顧尾,從start開始截取,截取到end的位置,但不包括end
strExample=‘hello,my name is joe‘ print(strExample[0:3]) #截取了字符串的第一到第三個字符,但索引為3但字符沒有截取 print(strExample[5:20]) #如果超出了字符串但範圍,就截取到字符串最後一個字符 print(strExample[-1:-5]) #從最後一位開始取,但是字符串只能從左往右取,所以什麽都取不到 print(strExample[-5:-1]) #從倒數第五個開始往後取,取到倒數第一個,但倒數第一個取不到 print(strExample[-5:]) #從倒數第五個往後取,如此便能取到最後一個(不寫結束的值,意思為直接取到最後)print(strExample[:5]) #從第一個開始取,取到第五個(不寫開始的值,意思為從開始取) print(strExample[:]) #從頭取到尾
d. 跳著取,存在步長的寫法:
步長:如果是正數,則從左往右取,如果是負數,則從右往左取,默認是1
切片語法:str[start:end:step]
start:起始位置
end:結束位置
step:步長
strExample=‘abcdefghijklmn‘ print(strExample[1:6:2]) #從第二個數開始取到第六個數,每兩個字符取一次,取這兩個的左邊的 print(strExample[1:6:-2]) #這樣取不到數字 print(strExample[6:1,-2]) #將索引反向寫,才能反向取到 print(strExample[-6::-1])#反向取到最前面 print(strExample[6::-1]) #反向取到最前面
5. 字符串是可叠代對象
s = "abcdefg" for i in s: print(i) #輸出結果為:a、b、c、d、e、f、g
6. 字符串常用方法:
1) captalize、swapcase、title
str.captalize() #首字母大寫
str.swapcase() #大小寫翻轉
str.title() #每個隔開的(被特殊字符或數字隔開)單詞的首字母大寫
2) upper、lower
str.upper() #全部字母大寫
str.lower() #全部字母小寫
3) center
str.center(長度,“用於填充的字符”)
#將給定字符串擴充到給定長度,並居中,然後用給定字符填充空白部分
4) expandtabs
str,expandtabs()
#如果字符串中有 \t 則自動將其轉化為 tab鍵
#從 \t 到最前,如果沒有八個字符,則補充到8個(8的倍數)
5) count
str.count("給定元素",數字1,數字2),也可以用在列表中
#計算字符串中的給定元素數量,可以按照數字1、數字2的位置來切片,然後統計
6) startswith、endswith
str.startswith("給定字符串",數字1,數字2) #判斷字符串是否以給定字符串開頭,可以切片後再判斷,返回值為bool值
str.endswith("給定字符串",數字1,數字2) #判斷字符串是否以給定字符串結尾,可以切片後再判斷,返回值為bool值
7) find
str.find("給定元素",數字1,數字2)
#尋找字符串中是否有給定元素,可以切片後再尋找
#如果能找到,返回值是元素的索引;如果找不到,返回值是 -1
8) index
str.index("給定元素",數字1,數字2)
#尋找字符串中是否有給定元素,可切片後再尋找
#如果能找到,返回元素的索引;如果找不到,報錯
9) split
str.split("給定字符")
#以給定字符分割字符串(默認為空格),得到一個list
#得到的list中不含給定用於分割的字符
str.split("給定字符",數字)
#以給定字符分割字符串,得到一個list
#只分割給定數字次字符串,當分割次數達到時,後面無論有多少可以分割的,都不繼續分割
10)strip
str.strip("給定字符")
#消除字符串中的給定字符,左右都刪
#輸入參數可以為空,默認為空格
11) lstrip、rstrip
str.lstrip() 、 str.rstrip()
#刪除字符串左邊、右邊的特定字符
12) format
str.format(用於輸出的元素)
#按順序填
#str中用{}占位
"{0},{1},{2},{0}".format(用於輸出的元素1,用於輸出的元素2,用於輸出的元素3)
#在占位的{}中加上索引,可多次使用format後的元素(按索引位置引用)
"{key1},{key2},{key3},{key2},{key1}".format(key1=值1,key2=值2,key3=值3)
#按key進行索引,可以不按順序進行排列
13) replace
str.replace(old,new,count)
#將字符串中的old元素替換為new
#默認全部都替換,可以用count控制替換次數
14) is系列
str.isalnum() #判斷字符串是否由字母或數字組成,返回bool
str.isalpha() #判斷字符串是否只由字母組成,返回bool
str.isdigit() #判斷字符串是否只由數字組成,返回bool
15) len
len(str)
#計算字符串的長度(字符數量)
#len() 是一個公用方法,其他數據類型也能使用
Python基礎:十七、str 字符串