標籤:python string
獲得更多資料歡迎進入我的網站或者 csdn或者[部落格園]
經過前面的介紹相信大家也對python有了一個初步的瞭解;本節主要介紹字串,不管學習什麼編語言字串一定在其中扮演著重要的地位。本節主要講解,字串的定義以及怎麼使用字串;
python入門之列表和元組
python入門之軟體安裝
字串簡介
字串是一種序列,用於表示和儲存文本。python中字串一旦聲明,就不能改變。所以也稱為字串常量;
python實際的三類字串:
1.單雙引號字串:
>>> ‘peace‘‘peace‘>>> "peace"‘peace‘>>>
2.三引號字串和逸出字元串,raw原始字串:
三引號字串是可以換行;raw原始字串是不進行轉義;
#三引號字串>>> ‘‘‘peace... peace... peace‘‘‘‘peace\npeace\npeace‘#逸出字元串>>> ‘Im‘peace‘ File "<stdin>", line 1 ‘Im‘peace‘ ^SyntaxError: invalid syntax>>> ‘Im\‘peace‘"Im‘peace">>> #原始字串 不進行轉義:>>> print (r"c:\peace\n")c:\peace\n>>> print ("c:\peace\n")c:\peace
3Unicode字串:
>>> print(u‘peace\u0020one‘)peace one>>>
基底字元串操作
前面將的所有標準序列操作(索引,分區,乘法,判斷成員資格,求長度,取最大值和最小值)對字串同樣適合;但是字串是不可變的,索引賦值和分區賦值是不允許的;如下:
>>> name="peace">>> name[1]=‘q‘Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: ‘str‘ object does not support item assignment>>>
字串格式化1.%字元:標記轉換符開始
字串格式化轉換類型:
示範如下:
#%s 格式化字串:>>> format="I\‘m,%s,%s?">>> name=(‘One‘,‘peace‘)>>> print (format % name)I‘m,One,peace?#%f格式化實數:>>> format="1.31400 with three decimals:%.3f">>> print(format % 1.31400)1.31400 with three decimals:1.314>>>
2.轉換標誌:
-:靠左對齊
+:在轉換值之前加上加號或減號
“ ”:正數之前保留空格
0:轉換值若位元不夠用0填充
.或者.*:輸出精度
下面我有單精確度符號數進行示範:
以上操作對其他類型也可以
1.靠左對齊在%號加上-號即可;
>>> a=1.314520>>> ‘%010.3f‘%a‘000001.315‘>>> ‘%-010.3f‘%a‘1.315 ‘>>>
2.在輸出前加上加號或減號:%後加上+
>>> a=1.314520>>> ‘%+f‘%a‘+1.314520‘>>>
3.正數之前保留空格:%後加上空格
>>> a=1.314520>>> b=-a>>> b-1.31452>>> ‘%f‘%b‘-1.314520‘>>> ‘% f‘%a‘ 1.314520‘
4.輸出位元不夠用0補充:%號後加上0
>>> a=1.314520>>> ‘%010f‘%a‘001.314520‘>>>
5.輸出精度:%號後加上.或者.* 如果用*,此時精度數值會從元組參數中讀出
>>> a=1.314520>>> ‘%.3f‘%a‘1.315‘>>> ‘%.*f‘%(3,a)‘1.315‘>>>
字串方法:find方法
find方法可以在一個較長的字串中尋找子字串。它返回子串所在位置的最左端索引。如果沒有找到則返回-1。
>>> name="my name is peace and is"#尋找的是最左端的>>> name.find(‘is‘)8#沒有找到返回-1>>> name.find(‘one‘)-1#可以提供尋找的起點,下面時從9開始查>>> name.find(‘is‘,9)21#當然可以同時給出終點和起點>>> name.find(‘is‘,10,11)-1>>>
join方法和split方法
join方法是用來串連序列中的元素(注意必須都是字串),而split剛好相反,是用來將字串分割成序列
#如果seq=[1,2,5,6]就會報錯>>> seq=[‘1‘,‘2‘,‘5‘,‘6‘]>>> adhere=‘-‘>>> adhere.join(seq)‘1-2-5-6‘>>> adhere‘-‘>>> a=adhere.join(seq)>>> a‘1-2-5-6‘>>> a.split(‘-‘)[‘1‘, ‘2‘, ‘5‘, ‘6‘]>>>
lower方法
lower方法返回字串的小寫字母片。對於尋找時非常有用的;見下面的例子:
>>> name=‘ONE Peace‘>>> k=name.lower()>>> k‘one peace‘>>> ‘ONE Peace‘ in [‘one peace‘,‘nick name‘]False>>> ‘ONE Peace‘.lower() in [‘one peace‘,‘nick name‘]True>>>
replace方法和translate方法
replace方法返回某個字串的所有匹配項均被替換之後得到的字串。
translate方法和replace方法一樣,可以替換字串中的某些部分,但是和前者不同的是,translate方法只處理單個字元。它的優勢在於可以同時進行多個替換,有些時候比replace效率高得多。在使用translate轉換前,需要先完成一張轉換表。轉換表中是以某字元替換某字元的對應關係。有時表比較長,我們還是不要自己寫了,直接用maketrans方法就行了。maketrans方法接收兩個參數:兩個等長的字串,表示第一個字串中的每個字元都用第二個字串中相同位置的字元替換。
需要注意的是python3.0之前的版本maketrans函數在string中需要引入
>>> st=‘is is is is is‘>>> st2=st.replace(‘is‘,‘peace‘)>>> st2‘peace peace peace peace peace‘>>> st=‘abcdefghijklm‘>>> table=st.maketrans(‘bc‘,‘aa‘)>>> len(table)2>>> table{98: 97, 99: 97}>>> st.translate(table)‘aaadefghijklm‘
strip方法
strip方法返回去除兩側(不包含內部)空格(或者是指定字元)的字串
>>> st=‘ aaaaa ‘>>> st.strip()‘aaaaa‘>>> st=‘***jjjj***‘>>> st.strip(‘*‘)‘jjjj‘>>>
字串入門就講到這裡;
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
python入門之字串