溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python字符串的使用方法有哪些

發(fā)布時(shí)間:2021-11-22 14:44:17 來源:億速云 閱讀:162 作者:iii 欄目:編程語言

這篇文章主要講解了“Python字符串的使用方法有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python字符串的使用方法有哪些”吧!

str(字符串)

1.字符串是 Python 中最常用的數(shù)據(jù)類型。我們可以使用'',"", ''' ''' , """ """這四種方式來定義字符串;

a = 'x'
b = "y"
c = '''xxx'''
d = """yyy"""
print(a,b,c,d)   #輸出:x y xxx yyy

2.字符串是不可變的,字符串一旦定義就不能改變;

string = 'world'
string = 'hello world'

3.字符串的轉(zhuǎn)義;

\:續(xù)行符;
\e:轉(zhuǎn)義;
\n:換行;
\ \:反斜杠符號;
\ ":單引號;
\ ":雙引號;
\000:空;
\v:縱向制表符;
\t:橫向制表符;
\r:回車;
\f:換頁;
\oyy:八進(jìn)制數(shù),yy代表的字符,例如:\o12代表換行;
xyy:十六進(jìn)制數(shù),yy代表的字符,例如:\x0a代表換行;
\other:其它的字符以普通格式輸出;

4.字符串可以通過索引和循環(huán)迭代兩種方式來訪問;

# 索引訪問
str = 'hello'
print(str[1])  #輸出:e
# 循環(huán)迭代訪問
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指定切割的次數(shù), num指定切割多少次,如果不設(shè)置maxsplit參數(shù),那就根據(jù)sep切割,不限定次數(shù);

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,參數(shù)設(shè)置和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為保留,F(xiàn)alse不保留;

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'   #初始化一個(gè)字符串string
  • 全部轉(zhuǎn)為大寫;

print(string.upper())  #輸出:ABCD ABCD
  • 全部轉(zhuǎn)為小寫;

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為指定的次數(shù);

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] 為開始和結(jié)束索引,返回索引;

print(string.find('e'))  #輸出:1
  • index方法,index(sub[, start[, end]]) -> int,返回索引;

print(string.index('w')) #輸出:5
  • count方法,count(sub[, start[, end]]) -> int, 返回字符出現(xiàn)的次數(shù);

print(string.count('l')) #輸出:3

10.字符串判斷

string = 'hello'  #初始化一個(gè)字符串string
  • startswith方法,startswith(prefix[, start[, end]]) -> bool, 是否以prefix開頭;

print(string.startswith(''))  #輸出:True
  • endswith(suffix[, start[, end]]) -> bool, 是否以suffix結(jié)尾;

print(string.endswith('x'))  #輸出:False
  • isalnum() 是否是字母或數(shù)字;

print(string.isalnum())  #輸出:True
  • isalpha() 是否是字母;

print(string.isalpha())  #輸出:True
  • isdigit() 是否是數(shù)字;

print(string.isdecimal())  #輸出:False
  • isdecimal() 是否是十進(jìn)制;

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語言風(fēng)格

print("I am %04d" % (100,)) # 前端補(bǔ)0
print('I am %s' % 'hello')    # 字符串
print('%.3f' % (99.56789))  # 保留3位小數(shù)
print("I am %-5d" % (20,))  # 左對齊
print("I am %5d" % (20,))   # 右對齊
  • python format風(fēng)格

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個(gè)位置,且左對齊
print('{0} + {1} = {2:<100}'.format(1,2,3))
# 指定100個(gè)位置,且右對齊
print('{0} + {1} = {2:>100}'.format(1,2,3))
# 指定100個(gè)位置,且左對齊,其他地方補(bǔ)0
print('{0} + {1} = {2:0<100}'.format(1,2,3))
# 指定100個(gè)位置,且右對齊,其他地方補(bǔ)0
print('{0} + {1} = {2:0>100}'.format(1,2,3))
# 指定100個(gè)位置,居中對齊
print('{0} + {1} = {2:^100}'.format(1,2,3))
# 指定100個(gè)位置,居中對齊, 其他地方補(bǔ)0
print('{0} + {1} = {2:0^100}'.format(1,2,'不知道'))
# 進(jìn)制
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字符串的使用方法有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Python字符串的使用方法有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI