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