您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python字符串的使用方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python字符串的使用方法有哪些”吧!
1.字符串是 Python 中最常用的數據類型。我們可以使用''
,""
,
''' '''
,
""" """
這四種方式來定義字符串;
a = 'x' b = "y" c = '''xxx''' d = """yyy""" print(a,b,c,d) #輸出:x y xxx yyy
2.字符串是不可變的,字符串一旦定義就不能改變;
string = 'world' string = 'hello world'
3.字符串的轉義;
\:續行符; \e:轉義; \n:換行; \ \:反斜杠符號; \ ":單引號; \ ":雙引號; \000:空; \v:縱向制表符; \t:橫向制表符; \r:回車; \f:換頁; \oyy:八進制數,yy代表的字符,例如:\o12代表換行; xyy:十六進制數,yy代表的字符,例如:\x0a代表換行; \other:其它的字符以普通格式輸出;
4.字符串可以通過索引和循環迭代兩種方式來訪問;
# 索引訪問 str = 'hello' print(str[1]) #輸出:e # 循環迭代訪問 str1 = 'hello' for item in str1: print(item) #輸出:h e l l o
5.字符串的連接方式
使用
+
號直接連接;
string1 = 'hello' string2 = '\t' string3 = 'world' print(string1 + string2 + string3) #輸出:hello world
使用join方法連接;
lst = ['1', '2', '3', '4', '5'] lst_new = ''.join(lst) print(lst_new) #輸出:12345
6.字符串的切割
使用 split(sep=None, maxsplit=num) -> list of strings , 從左向右切割,sep指定分隔符,maxsplit指定切割的次數, num指定切割多少次,如果不設置maxsplit參數,那就根據sep切割,不限定次數;
string1 = '1,2,3,4,5' new_obj1 = string1.split(',') new_obj2 = string1.split(',', maxsplit=1) print(new_obj1) #輸出:['1', '2', '3', '4', '5'] print(new_obj2) #輸出:['1', '2,3,4,5']
使用rsplit方法, rsplit(sep=None, maxsplit=num) -> list of strings,參數設置和split方法類似,不同之處在于, rsplit方法是從右向左切割的;
string1 = '1,2,3,4,5' new_obj1 = string1.rsplit(',') new_obj2 = string1.rsplit(',', maxsplit=1) print(new_obj1) #輸出:['1', '2', '3', '4', '5'] print(new_obj2) #輸出:['1,2,3,4', '5']
使用splitlines方法, splitlines([keepends]) -> list of strings, 換行符('\r', '\r\n', \n')
切割, keepends指是否保留分隔符,True為保留,False不保留;
string1 = 'I love xkd \nI love xkd' new_obj1 = string1.splitlines() new_obj2 = string1.splitlines(True) print(new_obj1) #輸出:['I love xkd ', 'I love xkd'] print(new_obj2) #輸出:['I love xkd \n', 'I love xkd']
使用partition方法, partition(sep) -> (head, sep, tail), 從左到右切割三段,中間那段為分隔符。如果只需要輸出其中一段,可以把其它的段用_
下劃線代替;
string1 = '1,2,3,4,5' new_obj1, seq, new_obj2 = string1.partition(',') print(new_obj1) #輸出:1 print(seq) #輸出:, print(new_obj2) #輸出:2,3,4,5 new_obj1, _, _ = string1.partition(',') print(new_obj1) #輸出:1
7.字符串對象方法
string = 'aBcd abcD' #初始化一個字符串string
全部轉為大寫;
print(string.upper()) #輸出:ABCD ABCD
全部轉為小寫;
print(string.lower()) #輸出:abcd abcd
大寫改小寫,小寫改大寫;
print(string.swapcase()) #輸出:AbCD ABCd
所有單詞首字母大寫;
print(string.title()) #輸出:Abcd Abcd
字符串首字母大寫;
print(string.capitalize()) #輸出:Abcd abcd
center方法,center(width[, fillchar]) -> str, 將字符串居中,width指定寬度, fillchar指定填充的字符;
print(string.center(100, '*')) 輸出:**********aBcd abcD***********
ljust方法,ljust(width[, fillchar]), 將字符串居左,width指定寬度, fillchar指定填充的字符;
print(string.ljust(100, '*')) 輸出:aBcd abcD********************
rjust方法,rjust(width[, fillchar]), 將字符串居右,width指定寬度, fillchar指定填充的字符;
print(string.rjust(100, '*')) 輸出:********************aBcd abcD
zfill方法,zfill(width) -> str, 右對齊打印,左邊使用0填充;
print(string.zfill(100)) 輸出:00000000000000000000aBcd abcD
8.字符串修改
replace方法,replace(old, new[, count]) -> str, 字符串替換,old指需要被替換的字符串,new為替換字符串, count為指定的次數;
string = 'age' print(string.replace('a', 'z')) #輸出:zge
strip方法,strip([chars]) -> str, 剔除兩端的字符,chars指定剔除的字符,chars不指定則為剔除空白字符;
string = ' age ' print(string.strip()) #輸出:age print(string.strip()) #輸出:age
lstrip: 剔除左邊的字符,rstrip: 剔除右邊的字符;
print(string.rstrip()) #輸出: age print(string.lstrip()) #輸出:age
9.字符串查找
string = 'helloworld'
find方法,find(sub[, start[, end]]) -> int, 從左向右查找,sub指定要查找的字符串,[start,end] 為開始和結束索引,返回索引;
print(string.find('e')) #輸出:1
index方法,index(sub[, start[, end]]) -> int,返回索引;
print(string.index('w')) #輸出:5
count方法,count(sub[, start[, end]]) -> int, 返回字符出現的次數;
print(string.count('l')) #輸出:3
10.字符串判斷
string = 'hello' #初始化一個字符串string
startswith方法,startswith(prefix[, start[, end]]) -> bool, 是否以prefix開頭;
print(string.startswith('')) #輸出:True
endswith(suffix[, start[, end]]) -> bool, 是否以suffix結尾;
print(string.endswith('x')) #輸出:False
isalnum() 是否是字母或數字;
print(string.isalnum()) #輸出:True
isalpha() 是否是字母;
print(string.isalpha()) #輸出:True
isdigit() 是否是數字;
print(string.isdecimal()) #輸出:False
isdecimal() 是否是十進制;
print(string.isdecimal()) #輸出:False
isidentifier() 是否是字母和下劃線開頭;
print(string.isidentifier()) #輸出:True
islower() 是否是小寫;
print(string.islower()) #輸出:True
isupper() 是否是大寫;
print(string.isupper()) #輸出:False
isspace() 是否是全空白字符;
print(string.isspace()) #輸出:False
11.符串格式化
C語言風格
print("I am %04d" % (100,)) # 前端補0 print('I am %s' % 'hello') # 字符串 print('%.3f' % (99.56789)) # 保留3位小數 print("I am %-5d" % (20,)) # 左對齊 print("I am %5d" % (20,)) # 右對齊
python format風格
S.format(*args, **kwargs) -> str, 其中args為元組,kwargs為字典,花括號為占位符 1: 占位 print('我是{}, 我在{}'.format('魚兒', '海里')) print('我是{0}, 我在{1}'.format('魚兒', '海里')) print('我是{1}, 我在{0}'.format('海里','魚兒',)) print('我是{1}, 我在{0}'.format(*('海里','魚兒'))) print('我是{name}, 我在{addr}'.format(name='魚兒', addr='海里')) print('我是{name}, 我在{addr}'.format(**{'name':'魚兒', 'addr':'海里'})) 2:對齊 # 指定100個位置,且左對齊 print('{0} + {1} = {2:<100}'.format(1,2,3)) # 指定100個位置,且右對齊 print('{0} + {1} = {2:>100}'.format(1,2,3)) # 指定100個位置,且左對齊,其他地方補0 print('{0} + {1} = {2:0<100}'.format(1,2,3)) # 指定100個位置,且右對齊,其他地方補0 print('{0} + {1} = {2:0>100}'.format(1,2,3)) # 指定100個位置,居中對齊 print('{0} + {1} = {2:^100}'.format(1,2,3)) # 指定100個位置,居中對齊, 其他地方補0 print('{0} + {1} = {2:0^100}'.format(1,2,'不知道')) # 進制 print("int: {0:d} bin: {0:b} hex: {0:x} oct: {0:o} ".format(100)) print("int: {0:d} bin: {0:#b} hex: {0:#x} oct: {0:#o} ".format(100))
感謝各位的閱讀,以上就是“Python字符串的使用方法有哪些”的內容了,經過本文的學習后,相信大家對Python字符串的使用方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。