上一篇文章: Python判斷與循環語句
下一篇文章: Python列表處理
方法 | 含義 |
---|---|
title() | 將每一個單詞首字母大寫 |
upper() | 將每一個字母都大寫 |
lower() | 將每一個字母都小寫 |
capitalize() | 將字符串首字母大寫,其他字符小寫 |
實例展現:python
name="zhao li Xiang" print("單詞首字母大寫前:%s"%name) name.title() print("單詞首字母大寫後(不用name接收):%s"%name) name=name.title() print("單詞首字母大寫後(用name接收):%s"%name) print("*"*50) name="zhao li Xiang" print("全部字母都大寫前:%s"%name) name.upper() print("全部字母都大寫後(不用name接收):%s"%name) name=name.upper() print("全部字母大寫後(用name接收):%s"%name) print("*"*50) name="zhao li Xiang" print("全部字母都小寫前:%s"%name) name.lower() print("全部字母都小寫後(不用name接收):%s"%name) name=name.lower() print("全部字母都小寫後(用name接收):%s"%name) print("*"*50) name="zhao li Xiang" print("字符串首字母大寫,其它字符小寫前:%s"%name) name.capitalize() print("字符串首字母大寫,其它字符小寫後(不用name接收):%s"%name) name=name.capitalize() print("字符串首字母大寫,其它字符小寫後(用name接收):%s"%name)
控制檯打印結果git
單詞首字母大寫前:zhao li Xiang 單詞首字母大寫後(不用name接收):zhao li Xiang 單詞首字母大寫後(用name接收):Zhao Li Xiang ************************************************** 全部字母都大寫前:zhao li Xiang 全部字母都大寫後(不用name接收):zhao li Xiang 全部字母大寫後(用name接收):ZHAO LI XIANG ************************************************** 全部字母都小寫前:zhao li Xiang 全部字母都小寫後(不用name接收):zhao li Xiang 全部字母都小寫後(用name接收):zhao li xiang ************************************************** 字符串首字母大寫前:zhao li Xiang 字符串首字母大寫後(不用name接收):zhao li Xiang 字符串首字母大寫後(用name接收):Zhao li xiang
不難看出:不管是上面三個方法中的哪個,都只是返回改變後的結果,對操做的字符串對象沒有任何影響!segmentfault
將全部字母大寫或者小寫,可用來判斷用戶輸入是使用,能夠作到相應的人性化關懷(大小寫均可以)
使用+號來合併api
print("Mark"+"帥哥🤗")
打印結果:數組
Mark帥哥🤗
t:製表符函數
n:換行符spa
print("Mark\t帥哥") print("Mark\n帥哥")
控制檯打印結果:code
Mark 帥哥 Mark 帥哥
lstrip():刪除字符串開頭空白對象
rstrip():刪除字符串尾部空白blog
strip():刪除字符串先後字空白
注意:上面兩個函數都只是返回刪除空白後的字符串,對原有字符串沒有改變
實例:
name=" Mark " name.lstrip() print("*"+name+"*") name.rstrip() print("*"+name+"*") print("*"+name.lstrip().rstrip()+"*") print("*"+name.strip()+"*")
打印結果:
* Mark * * Mark * *Mark* *Mark*
下標:字符串能夠看出是一個字符數組,而在這個數組的位置就是對應字符的下標
切片:是對操做對象截取一部分的操做。字符串、列表、元組都支持切片
切片的語法:[起始下標:結束下標:步長]
若是有字符串「abcdef」,在內存中實際存儲以下:
能夠經過下標獲取指定字符:
name="abcdef" print(name[0]) print(name[1]) print(name[2]) print(name[3])
打印結果:
a b c d
切片操做:
name="abcdef" print(name[:3]) print(name[1:3]) print(name[3:]) print(name[1:5:2]) #從第二個字符到最後第二個字符 print(name[1:-1]) #倒序 print(name[::-1])
打印結果:
abc bc def bd bcde fedcba
語法:目標字符串.find(須要查詢的指定字符串[開始查詢的下標,結束查詢的下標]):從左邊開始查找目標字符串.find(須要查詢的指定字符串[開始查詢的下標,結束查詢的下標:從右邊開始查找
存在就會返回下標,不存在就返回-1
實例:
name="abcdefg" print(name.find("cd")) print(name.rfind("cd")) print(name.find("gg")) print(name.rfind("gg"))
控制檯打印結果:
2 2 -1 -1
與find的不一樣點是若是沒有查詢到,index方法會報錯
實例:
name="abcdefg" print(name.index("cd")) print(name.rindex("cd")) print(name.index("gg")) print(name.rindex("gg"))
打印結果:
2 Traceback (most recent call last): 2 File "/Users/zhaolixiang/Desktop/python/test1/venv/字符串index.py", line 4, in <module> print(name.index("gg")) ValueError: substring not found
語法:目標字符串.count(指定字符串[,開始下標,結束下標])
實例:
name="mark mark mark" print(name.count("ar")) print(name.count("ar",0,5)) print(name.count("ar",5))
打印結果:
3 1 2
語法:mystr.replace(str1,str2[,count])將mystr中的str1替換爲str2,若是count指定,則替換次數不超過count次。
這個方法也是隻影響返回值,不對mystr對象進行改變。
實例:
name="mark mark mark" print(name.replace("ar","br")) print(name.replace("ar","br",0)) print(name.replace("ar","br",1))
打印結果:
mark mark mark mbrk mbrk mbrk mark mark mark mbrk mark mark
語法:mystr.split(str[,count])把mystr依靠str進行分割,若是count指定,則最多分割count個字符串
實例:
name="mark mark mark" print(name.split("ar")) print(name.split("ar",0)) print(name.split("ar",2))
打印結果:
['m', 'k m', 'k m', 'k'] ['mark mark mark'] ['m', 'k m', 'k mark']
實例:
name="Mark 帥哥" print(name.startswith("Mar")) print(name.startswith("mar")) print(name.endswith("哥")) print(name.endswith("帥"))
控制檯打印結果:
True False True False
實例:
name="mark" print("*"+name.ljust(2)+"*") print("*"+name.ljust(6)+"*") print("*"+name.rjust(6)+"*") print("*"+name.center(6)+"*")
打印結果:
*mark* *mark * * mark* * mark *
實例:
name="hello world world mark" print(name.partition("world")) print(name.rpartition("world"))
打印結果:
('hello ', 'world', ' world mark') ('hello world ', 'world', ' mark')
實例:
name="hello\nworld\nworld\nmark" print(name.splitlines())
打印結果:
['hello', 'world', 'world', 'mark']
實例:
print("mark".isalpha()) print("mark123".isalpha()) print("mark帥哥".isalpha()) print("mark 帥哥".isalpha())
打印結果:
True False True False
實例:
print("mark".isdigit()) print("123".isdigit()) print("123帥哥".isdigit())
打印結果:
False True False
實例:
print("mark".isalnum()) print("mark123".isalnum()) print("123".isalnum()) print("mark 帥哥".isalnum())
打印結果:
True True True False
實例:
print("mark".isspace()) print("mark 123".isspace()) print(" ".isspace())
打印結果:
False False True
實例:
list=["my","name","is","mark"] print(" ".join(list)) print("_".join(list))
打印 結果:
my name is mark my_name_is_mark