成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

python字符串相關(guān)特性有哪些

這篇文章給大家分享的是有關(guān)python 字符串相關(guān)特性有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),云巖網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:云巖等地區(qū)。云巖做網(wǎng)站價(jià)格咨詢:028-86922220

字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。一般記為 s=“a1a2···an”(n>=0)。它是編程語言中表示文本的數(shù)據(jù)類型。 通常以串的整體作為操作對(duì)象,如:在串中查找某個(gè)子串、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等。兩個(gè)字符串相等的充要條件是:長度相等,并且各個(gè)對(duì)應(yīng)位置上的字符都相等。

python 字符串相關(guān)特性

1、屬于python基本數(shù)據(jù)類型和結(jié)構(gòu)的一種。

2、本身是不可變的數(shù)據(jù)類型。

3、有很多內(nèi)置的方法。

字符串連接

方法1: 用字符串的join方法

a = ['a','b','c','d']

content = ''

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

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

比如:

s = 'ilovepython'

s[1:5]的結(jié)果是love

當(dāng)使用以冒號(hào)分隔的字符串,python返回一個(gè)新的對(duì)象,結(jié)果包含了以這對(duì)偏移標(biāo)識(shí)的連續(xù)的內(nèi)容,左邊的開始是包含了下邊界,比如

上面的結(jié)果包含了s[1]的值l,而取到的最大范圍不包括上邊界,就是s[5]的值p。

字符串替換

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

1、用字符串本身的replace方法:

a = 'hello word'

b = a.replace('word','python')

print b

2、用正則表達(dá)式來完成替換:

import re

a = 'hello word'

strinfo = re.compile('word')

b = strinfo.sub('python',a)

print b

字符串比較

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

sStr1 = 'strch'

sStr2 = 'strchr'

print cmp(sStr1,sStr2)##-1

字符串相加

我們通過操作符號(hào)+來進(jìn)行字符串的相加,不過建議還是用其他的方式來進(jìn)行字符串的拼接,這樣效率高點(diǎn)。

原因:在循環(huán)連接字符串的時(shí)候,他每次連接一次,就要重新開辟空間,然后把字符串連接起來,再放入新的空間,再一次循環(huán),又要開辟新的空間,把字符串連接起來放入新的空間,如此反復(fù),內(nèi)存操作比較頻繁,每次都要計(jì)算內(nèi)存空間,然后開辟內(nèi)存空間,再釋放內(nèi)存空間,效率非常低。

sStr1 = 'strch'

sStr2 = 'strchr'

newstr = sStr1 + sStr2

print newstr

字符串查找

python 字符串查找有4個(gè)方法,1 find,2 index方法,3 rfind方法,4 rindex方法。

1、find()方法:

info = 'abca'

print info.find('a')##從下標(biāo)0開始,查找在字符串里第一個(gè)出現(xiàn)的子串,返回結(jié)果:0

info = 'abca'

print info.find('a',1)##從下標(biāo)1開始,查找在字符串里第一個(gè)出現(xiàn)的子串:返回結(jié)果3

info = 'abca'

print info.find('333')##返回-1,查找不到返回-1

2、index()方法:

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

info = 'abca'

print info.index('a')

print info.index('33')

字符串分割

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

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方法

encode([encoding,[errors]])

#其中encoding可以有多種值,比如gb2312 gbk gb18030 bz2 zlib big5 bzse64等都支持。

errors默認(rèn)值為"strict",意思是UnicodeError。可能的值還有'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 和所有的通過codecs.register_error注冊(cè)的值。

S.decode([encoding,[errors]]) 下面是字符串編碼應(yīng)用:

a = '你好'

b = 'python'

print a.decode('utf-8').encode('gbk')##decode方法把字符串轉(zhuǎn)換為unicode對(duì)象,然后通過encode方法轉(zhuǎn)換為指定的編碼字符串對(duì)象

print b.decode('utf-8')##decode方法把字符串轉(zhuǎn)換為unicode對(duì)象

字符串追加和拼接

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

#1 元組拼接

m = 'python'

astr = 'i love %s' % m

print astr

#2 字符串的format方法

m = 'python'

astr = "i love {python}".format(python=m)

print astr

#3 字典格式化字符串

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()來計(jì)算字符串的長度,注意這個(gè)計(jì)算的是字符的長度。

aa = 'afebb'

bb = '你'

print len(aa)

print len(bb)

字符串大小寫

通過下面的upper(),lower()等方法來轉(zhuǎn)換大小寫

S.upper()#S中的字母大寫

S.lower() #S中的字母小寫

S.capitalize() #首字母大寫

S.istitle() #S是否是首字母大寫的

S.isupper() #S中的字母是否便是大寫

S.islower() #S中的字母是否全是小寫

字符串去空格

通過strip(),lstrip(),rstrip()方法去除字符串的空格

S.strip()去掉字符串的左右空格

S.lstrip()去掉字符串的左邊空格

S.rstrip()去掉字符串的右邊空格

字符串其他方法

字符串相關(guān)的其他方法:count(),join()方法等。

S.center(width, [fillchar]) #中間對(duì)齊

S.count(substr, [start, [end]]) #計(jì)算substr在S中出現(xiàn)的次數(shù)

S.expandtabs([tabsize]) #把S中的tab字符替換沒空格,每個(gè)tab替換為tabsize個(gè)空格,默認(rèn)是8個(gè)

S.isalnum() #是否全是字母和數(shù)字,并至少有一個(gè)字符

S.isalpha() #是否全是字母,并至少有一個(gè)字符

S.isspace() #是否全是空白字符,并至少有一個(gè)字符

S.join()#S中的join,把列表生成一個(gè)字符串對(duì)象

S.ljust(width,[fillchar]) #輸出width個(gè)字符,S左對(duì)齊,不足部分用fillchar填充,默認(rèn)的為空格。

S.rjust(width,[fillchar]) #右對(duì)齊

S.splitlines([keepends]) #把S按照行分割符分為一個(gè)list,keepends是一個(gè)bool值,如果為真每行后而會(huì)保留行分割符。

S.swapcase() #大小寫互換

感謝各位的閱讀!關(guān)于python 字符串相關(guān)特性有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

當(dāng)前標(biāo)題:python字符串相關(guān)特性有哪些
轉(zhuǎn)載來于:http://jinyejixie.com/article44/gpeiee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站電子商務(wù)、App開發(fā)、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
牙克石市| 闵行区| 淮滨县| 广元市| 大城县| 两当县| 平罗县| 红河县| 织金县| 平陆县| 呼图壁县| 离岛区| 龙陵县| 亳州市| 延边| 平顺县| 宁南县| 孟津县| 深泽县| 吴川市| 沧源| 杭锦旗| 海林市| 普定县| 绿春县| 民勤县| 平山县| 军事| 洪湖市| 石阡县| 临夏县| 宁都县| 中山市| 南通市| 新化县| 庆云县| 宝清县| 兖州市| 会东县| 彭泽县| 深泽县|