python字符串

python的字符串有如下特性:

  • 屬于python基本數(shù)據(jù)類型和結(jié)構(gòu)的一種。
  • 本身是不可變的數(shù)據(jù)類型。
  • 有很多內(nèi)置的方法

字符串連接

方法1: 用字符串的join方法
a = ['a','b','c','d']
content = ''''.join(a)
print content
方法2: 用字符串的替換占位符替換
a = ['a','b','c','d']
content = ''content = '%s%s%s%s' % tuple(a)
print content

字符串截取

我們可以通過索引來提取想要獲取的字符, 可以把python的字符串也做為字符串的列表就更好理解python的字串列表有2種取值順序.

  • 1:是從左到右索引默認(rèn)0開始的,最大范圍是字符串長度少1。
s = 'ilovepython'
s[0]的結(jié)果是i
  • 2:是從右到左索引默認(rèn)-1開始的,最大范圍是字符串開頭。
s = 'ilovepython'
s[-1]的結(jié)果是n

上面這個是取得一個字符,如果你的實際要取得一段子串的話,可以用到變量[頭下標(biāo):尾下標(biāo)],就可以截取相應(yīng)的字符串,其中下標(biāo)是從0開始算起,可以是正數(shù)或負(fù)數(shù),下標(biāo)可以為空表示取到頭或尾。而且尾下表并不包含在其中。

字符串替換

字符串替換可以用內(nèi)置的方法正則表達(dá)式完成。

  • 用字符串本身的replace方法:
a = 'hello word'
b = a.replace('word','python')
print b
  • 用正則表達(dá)式來完成替換:
import re
a = 'hello word'
strinfo = re.compile('word')
b = strinfo.sub('python',a)
print b

字符串比較

cmp方法比較兩個對象,并根據(jù)結(jié)果返回一個整數(shù)。
cmp(x,y)如果X< Y,返回值是負(fù)數(shù)。如果X>Y 返回的值為正數(shù)。

sStr1 = 'strch'
sStr2 = 'strchr'
print cmp(sStr1,sStr2)##-1

字符串相加

我們通過操作符號+來進(jìn)行字符串的相加,不過建議還是用其他的方式來進(jìn)行字符串的拼接,這樣效率高點。
原因:在循環(huán)連接字符串的時候,每次連接一次,就要重新開辟空間,然后把字符串連接起來,再放入新的空間,再一次循環(huán),又要開辟新的空間,把字符串連接起來放入新的空間,如此反復(fù),內(nèi)存操作比較頻繁,每次都要計算內(nèi)存空間,然后開辟內(nèi)存空間,再釋放內(nèi)存空間,效率非常低。

字符串查找

python 字符串查找有4個方法,

  • find
  • index
  • rfind
  • rindex
find()方法:
info = 'abca'
print info.find('a')##從下標(biāo)0開始,查找在字符串里第一個出現(xiàn)的子串,返回結(jié)果:0
info = 'abca'
print info.find('a',1)##從下標(biāo)1開始,查找在字符串里第一個出現(xiàn)的子串:返回結(jié)果3
info = 'abca'
print info.find('333')##返回-1,查找不到返回-1
index()方法:

python 的index方法是在字符串里查找子串第一次出現(xiàn)的位置,類似字符串的find方法,不過比find方法更好的是,如果查找不到子串,會拋出異常,而不是返回-1

info = 'abca'
print info.index('a')
print info.index('33')

字符串分割

字符串分割,可以用split,rsplit方法,通過相應(yīng)的規(guī)則來切割成生成列表對象

info='name:haha,age:20$name:python,age:30$name:fef,age:55'
content = info.split('')
print content

字符串翻轉(zhuǎn)

通過步進(jìn)反轉(zhuǎn)[::-1]

a = 'abcd'
b = a[::-1]##[::-1]通過步進(jìn)反轉(zhuǎn)print b

字符串編碼

通過字符串的decode和encode方法

字符串追加和拼接

通過字符串的占位符來進(jìn)行字符串的拼接

元組拼接

m = 'python'
astr = 'i love %s' % m
print astr
字符串的format方法
m = 'python'
astr = "i love {python}".format(python=m)
print astr
字典格式化字符串
m = 'python'
astr = "i love %(python)s " % {'python':m}
print astr

字符串復(fù)制

通過變量來進(jìn)行賦值

fstr = 'strcpy'
sstr = fstr
fstr = 'strcpy2'
print sstr

字符串長度

通過內(nèi)置方法len()來計算字符串的長度,注意這個計算的是字符的長度。

aa = 'afebb'
bb = '你'
print len(aa)
print len(bb)

字符串大小寫

通過下面的upper(),lower()等方法來轉(zhuǎn)換大小寫
S.upper()#S中的字母大寫
S.lower() #S中的字母小寫

字符串去空格

通過strip(),lstrip(),rstrip()方法去除字符串的空格
S.strip()去掉字符串的左右空格
S.lstrip()去掉字符串的左邊空格
S.rstrip()去掉字符串的右邊空格

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本篇文章將介紹python的字符串操作,更多內(nèi)容請參考:python學(xué)習(xí)指南 一、查看幫助文檔 在學(xué)習(xí)編程語言過程...
    小七奇奇閱讀 551評論 0 2
  • 一、查看幫助文檔 在學(xué)習(xí)編程語言過程中,不管是python語言還是其它語言時我們應(yīng)學(xué)會查看API文檔,查看幫助信息...
    轉(zhuǎn)身后的那一回眸閱讀 489評論 0 0
  • 字符串的方法及注釋 方法注釋 capitalize()把字符串的第一個字符改為大寫 casefold()把整個字符...
    可樂1024閱讀 297評論 0 0
  • 1.字符串的定義 字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。一般記為 s=“a1a2···a...
    華麗的微笑閱讀 692評論 0 1
  • Python的條件語句 if語句 1.基本if語句: if 條件: 執(zhí)行語句 2.if-else結(jié)構(gòu): if ...
    6ddf6c46a31c閱讀 788評論 0 1

友情鏈接更多精彩內(nèi)容