python字元串

python字元串

字元串是若干字元的序列。

字元串是不可變的。

創建一個字元串:

>>> water = water water EveryWhere>>> waterwater water EveryWhere

[TOC]

索引 切片

類似於列表,可以對字元串進行索引和切片(截取)。

字元串中,第1個字母的索引是0,第2個字母的索引是1……

也可以使用負索引,最後1個字母的索引是-1,倒數2個字母的索引時-2……

>>> waterwater water EveryWhere>>> water[0]w>>> water[-1]e>>> water[4:]r water EveryWhere>>> water[:9]water wat>>> water[4:9]r wat

對於切片操作,包含第一個字母,而不包含最後一個字母。

字元串是不可變的,雖然我們可以對變數重新賦值,但不可以修改字元串:

>>> waterwater water EveryWhere>>> water[2] = b # 修改字元串Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: str object does not support item assignment>>> water = abc # 對變數water重新賦值>>> waterabc

遍歷字元串

可以使用while循環遍歷字元串:

>>> index = 0>>> while index < len(water):... print (%2d: %s % (index, water[index]) )... index = index + 1... 0: w 1: a 2: t 3: e 4: r 5: 6: w 7: a 8: t 9: e10: r11: 12: E13: v14: e15: r16: y17: W18: h19: e20: r21: e

其中,print()函數中%2d表示佔兩個字元寬度的整數。len()函數返回字元串中字元的個數。

這裡例子中通過變數index的自增,通過string[index]的形式遍歷字元串。

也可以使用for循環遍歷字元串:

>>> waterwater water EveryWhere>>> for letter in water:... print (letter)... waterwaterEveryWhere

in

使用in判斷字元串是否在某個字元串中:

>>> waterwater water EveryWhere>>> ate in waterTrue

"""

有的時候需要輸入多行字元串,這個時候就需要使用"""了:

>>> water = """... water... water... EveryWhere... """>>> water
water
water
EveryWhere
>>> print (water)waterwaterEveryWhere>>>

操作字元串的一些函數

使用S.lower()將字元串S中的所有字母轉換為小寫字母,並且作為新字元串返回。

>>> waterwater water EveryWhere>>> water_lower = water.lower()>>> water_lowerwater water everywhere>>> waterwater water EveryWhere

使用S.upper()將字元串S中所有字母轉換為大寫字母,並且作為新字元串返回。

>>> waterwater water EveryWhere>>> water.upper()WATER WATER EVERYWHERE

S.count(sub, start, end)返回字元串S的切片(起於start,終於end(不包括),且這兩個參數可選)中字元串sub的個數。

>>> waterwater water EveryWhere>>> water.count (er)4>>> water.count (er, 5)3>>> water.count (er, 5, 8)0

S.count(sub, start, end)返回字元串S的切片(其餘start,終於end(不包括),且這兩個參數可選)中第一次出現字元串sub的正索引。如果沒有,返回-1.

>>> waterwater water EveryWhere>>> water.find(er)3>>> water.find(er, 4)9>>> water.find(er, 4, 7)-1

S.replace (old, new, count),將字元串S中的字元串old替換為字元串new,並作為新字元串返回。參數count可選,如果它被指定,則替換不會超過count次。

>>> waterwater water EveryWhere>>> water.replace (wat, taw)tawer tawer EveryWhere

S.lstrip(chars)刪除字元串S左側的字元串chars或者空白字元(chars未指定),並作為新字元串返回。

S.rstrip(chars)刪除字元串S右側的字元串chars或者空白字元(chars未指定),並作為新字元串返回。

S.strip(chars)在字元串S上執行S.lstrip(chars)S.rstrip(chars)

>>> monkey diu diu diu diu >>> monkey.lstrip()diu diu diu diu >>> monkey.rstrip() diu diu diu diu>>> monkey.strip()diu diu diu diu

推薦閱讀:

基於unittest集成你的selenium2測試
windows中用python執行commands.getstatusoutput()為什麼出錯?
python安裝pandas包快要崩潰了?
Python pygame如何安裝?
Python的靜態方法和類成員方法

TAG:Python | Python入門 |