python基礎之字串

2021-07-09 12:04:15 字數 3440 閱讀 2571

1.基本字串的操作

所有標準序列的操作(索引,分片,乘法,成員資格判斷,求長度,取最小和最大值)同樣適用,但是記住:字串都是不可變的。

2.字串格式化:精簡版

字串的格式化可以使用字串格式化操作符——百分號(%)來實現。

在%的左側放置乙個字串(格式化字串),而右側放置希望被格式化的值。可以使用乙個值,如乙個字串或者數字,也可以使用多個值的元組或者後面將討論的 字典,一般情況下使用元組:

>>> values=('sun','hou')

>>> format="hello,%s and %s"

>>> print format % values

hello,sun and hou

格式化字串的%s稱為轉換說明符(conversion speciffer),它們標記了需要插入轉換值 的位置。s表示值會被格式化為字串——如果不是字串,則會將其轉換為字串,這個方法對大多數值都有效。

注意:如果要加格式化字串裡包括百分號,則必須使用%%,這樣python就不會將其誤認為是轉換說明符了。

如果要格式化實數(浮點數),可以使用f說明轉換說明符的型別,同時需要提供精度:乙個句點加上希望儲存的小數字數。

>>> format="pi is %.9f"

>>> from math import pi

>>> print format % pi

pi is 3.141592654

3.字串格式化:完整版

如果右運算元是元組或對映型別(入字典),那麼字串格式化將會有所不同。我們還沒有講到對映(如字典),在這裡先了解一下元組,在以後我們將會詳細介紹對映的格式化。

如果右邊運算元是元組的話,則其中的每乙個元素都會被單獨格式化,每乙個值都需要對應乙個轉換說明符。

注意:如果需要轉化的元組作為轉換表示式的一部分存在,那麼必須將它用圓括號括起來,以防出錯:

>>> '%s plus %s equals %s' % (1,1,2)

'1 plus 1 equals 2'

>>> '%s plus %s equals %s' % 1,1,2

traceback (most recent call last):

file "", line 1, in

typeerror: not enough arguments for format string

(1)簡單轉換

簡單的轉換只需要寫出轉換型別,使用起來很簡單:

>>> '%d' % 42

'42'

>>> '%x' % 42

'2a'

>>> '%.2f' % 42

'42.00'

>>> '%s' % 42l

'42'

>>> '%r' % 42l

'42l'

(2)字段寬度和精度

字段寬度是轉換後所儲存的最小字元個數,字段精度是轉換後所儲存的小數字。兩個引數通過點號(.)分隔,前面的是字段寬度,後面的是字段精度。

>>> '%d' % 42

'42'

>>> '%x' % 42

'2a'

>>> '%.2f' % 42

'42.00'

>>> '%s' % 42l

'42'

>>> '%r' % 42l

'42l'

>>> '%10f' % 123

'123.000000'

>>> '%10.2f' % 123

'    123.00'

>>> '%.5s' % 'hello dasd'

'hello'

>>> '%10.5s' % 'hello dasd'

'     hello'

>>> '%10.10s' % 'hello dasd'

'hello dasd'

(3)符號、對齊和用0補齊

在字元寬度和字元精度之前還可以放置乙個標誌,該標誌可以是0、+、-或空格。

零表示數字將會用0來填充:

>>> '%5.1f' % 0.1

'  0.1'

>>> '%05.1f' % 0.1

'000.1'

注意,這裡的0開頭,並不意味著字段寬度說明符為8進製。它只是個普通的python數值。

減號(-)用來左對齊數值:

>>> '%10.0f' % 1

'         1'

>>> '%-10.0f' % 1

'1         '

空格(」  「)用來在正數時候加上空格,這時候需要對齊複數很有用:

>>> '% .0f' % 1

' 1'

>>> '% .0f' % -1

'-1'

加號(+)不管正數負數都標出符號

4.字串方法

字串的方法非常多,這裡只介紹幾個常用的字串的方法:

(1)find

find方法在乙個字串中查詢字串。它將返回所在位置最左端索引。如果沒有找到返回-1

>>> 'hello word'.find('l')

2>>> 'hello word'.find('ws')

-1這個方法還接受提供起始點和結束點引數(所搜範圍包含起始點,不包含結束點),在python中,這是個慣例。

>>> 'hello word'.find('o',4,9)

4>>> 'hello word'.find('o',5,9)

7>>> 'hello word'.find('o',5,7)

-1(2)join

join方法是split方法的逆方法,用來連線序列中的字串:

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

>>> b='+'

>>> b.join(a)

'a+b+c+d'

(3)lower

lower方法返回字串的小寫

>>> 'abcd'.lower()

'abcd'

(4)replace

replace方法返回某字串的所有匹配項均被替換後得到的字串:

>>> a='hello word'

>>> a.replace('l','2')

'he22o word'

(5)split

這是乙個非常重要的方法,它是join的逆方法,用來把字串分割成序列

>>> a='a+b+c'

>>> a.split('+')

['a', 'b', 'c']

(6)strip

strip用來除去字串兩側(不包含內部)的空格

>>> a='  sad   '

>>> a.strip()

'sad'

python基礎之字串

1.單引號字串和轉義引號 在python中,字串是用單引號或者雙引號括起來,在表示字串的時候,單引號和雙引號有什麼區別嗎?事實上並沒有。在某些特殊情況時候,單引號和雙引號是不能換線交換的,比如在乙個字串中包含了雙引號,那麼這個字串就必須用單引號括起來,反之,乙個字串中包含了單引號,那麼這個字串就必須...

python基礎之字串

字串的鏈結操作 用 字串的複製操作 用 字串的索引操作 通過索引可以訪問制定的位置的字元,索引從0開始 索引 列如 a hello world print a 0 輸出的結果 是 h 字串的擷取操作 完整格式 開始索引 結束索引 間隔值 從開始擷取到索引結束之前 結束索引之前 從開始索引擷取到字串最...

Python基礎之字串

字串類似於元組,不能隨意修改,但可以用切片的方式間接修改 字串各種奇葩的內建方法 1.capitalize 將第乙個字母改為大寫 2.casefold 將所有字母改為小寫 3.center width 字串居中,空格填充 把字串的第乙個字元改為大寫 casefold 把整個字串的所有字元改為小寫 c...