python基礎 字串(str

2022-05-02 18:18:10 字數 3087 閱讀 6469

標準序列的常規操作(索引、切片、乘法、成員資格檢查、長度等)適用於字串,但字串是不可變的資料型別,因此元素賦值和切片賦值是非法的。

這裡介紹字串兩個方面:字串格式設定    字串方法

使用字串格式設定運算子----%,並在%右邊指定格式的值。指定要設定其格式的值時,可使用單個值(如字串,數字等)

,亦可使用元組(設定多個值)或者字典。

(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...