標準序列的常規操作(索引、切片、乘法、成員資格檢查、長度等)適用於字串,但字串是不可變的資料型別,因此元素賦值和切片賦值是非法的。
這裡介紹字串兩個方面:字串格式設定 字串方法
使用字串格式設定運算子----%,並在%右邊指定格式的值。指定要設定其格式的值時,可使用單個值(如字串,數字等)
,亦可使用元組(設定多個值)或者字典。
(1)替換字段沒有名稱或將索引用作名稱
>>> '{}, {}, {}'.format('first', 'second', 'third')
'first, second, third'
>>> ', , '.format('first', 'second', 'third')
'third, second, first'
(2)命名字段
格式字串中,替換欄位由如下部分組成,其中每部分都是可選的。
按順序和引數配對
>>> ' {} {}'.format(2,4,first=1,third=3) # 位置引數在前,按順序指定給未命名字段,然後按命名引數指定命名字段
'1 2 3 4'
也可使用索引值和命名引數指定
>>> ' '.format(2,4,first=1,third=3)
'1 4 3 2'
不能同時使用手工編號和自動編號
>>> ' {}'.format(2,4,first=1,third=3)
traceback (most recent call last):
file "", line 1, in
valueerror: cannot switch from manual field specification to automatic field numbering
指定在字段中包含的值以後就可以設定其格式的指令了。
>>> 'the number is '.format(num=100)
'the number is 100.000000'
>>> 'the number is '.format(num=100)
'the number is 1100100'
在格式說明中指定寬度和精度
寬度是使用整數指定的如下所示:
>>> ''.format(num=1)
' 1'
>>> ''.format(name='zhao')
'zhao '
精度也是由整數指定,但需要在之前加上乙個表示小數點的句點
>>> ''.format(π=pi)
' 3.14159'
使用逗號指出需要新增的千位分隔符
>>> ''.format(1000000)
'1,000,000'
用0填充
>>> ''.format('zhao')
'00000zhao000000'
其他符號填充
>>> ''.format('zhao')
'***zhao***'
可以使用 <、>和^,指定左對齊、右對齊、居中
>>> print('\n\n'.format('zhao','qian','sun'))
zhao
qian
sun方法center通過在兩邊新增填充字元(預設空格)讓字串居中
>>> 'zhao'.center(10, '*')
'***zhao***'
>>> 'zhao'.center(10)
' zhao '
方法find()在字串中查詢子串,如果找到就返回子串第乙個字元的索引,否則返回 -1
>>> 'zhao'.find('a')
2>>> 'zhao'.find('ao')
2還可指定搜尋的起點和終點
>>> 'zhaoqianzhao'.find('zhao',1)
8>>> 'zhaoqian'.find('a',3,8) #包含起點不包含終點
6john方法是非常重要的字串方法,其作用與split()相反,用於合併序列的元素
>>> l1 = ['zhao','qian','sun']
>>> '.' . join(l1)
'zhao.qian.sun'
返回字串的小寫版本
>>> 'zhao'.lower()
'zhao'
>>> 'zhao'.replace('zhao','qian')
'qian'
>>> 'zhaozhaozhao'.replace('zhao','qian',2)
'qianqianzhao'
split()方法與join()方法相反,用於將字串轉換序列
>>> 'z h a o'.split()
['z', 'h', 'a', 'o']
>>> 'z!h!a!o'.split('!')
['z', 'h', 'a', 'o']
strip()方法將字串開頭和結尾的空白刪除,並返回刪除後的結果
>>> 'zhao '.strip()
'zhao'
translate()與replace ()一樣替換字串的特定部分,但不同的是它只能進行含有單字元替換,優勢在於可以同時替換多個字元,因此比replace()效率高
使用translate()需要先建立乙個轉換表,可對字串呼叫maketrans,這個方法接受兩個引數:兩個相同長度的字串,指定要將第乙個字串中的每個字元都替換為第二個字串中相應字元
>>> table = str.maketrans('cs','kz')
>>> table
>>> 'this is cool'.translate(table)
'thiz iz kool'
呼叫maketrans()方法時,還可以提供第三個可選引數,指定要將那些字母刪除
>>> table = str.maketrans('cs','kz','o')
>>> 'this is cool'.translate(table)
'thiz iz kl'
很多字串方法以is開頭,他們判斷字串是否具有特定性質,這些方法返回false 或 true
python學習 str字串
s hello world print s s hello world print s s hello world print s 轉義字元案例 想表達let s go 使用轉義字元 s let s go 就想表達乙個單引號,不想組成引號對 print s 表示斜槓 比如表示c user augsn...
Python基礎之字串 str 常用操作
len 返回字串的長度 python3 print len ab12我 5 python2 print len ab12我 6join 將字串的每個元素按照指定的分隔符進行拼接 def join self,iterable return str1 str2 test str1.join str2 t...
Python基礎資料型別str字串
0 切片選取 x y 左閉右開區間 x y z 選取x到y之間 每隔z選取一次 選取x,x z,z為正 索引位置 x在y的左邊 z為負 索引位置 x在y的右邊 字串 都是字串的時候才能相加 a alex b wusir print a b 字串拼接字串 字串和數字相乘 a 6 b alex prin...