Strings 字符串
一個(gè)字符串是一個(gè)序列,例如:
>>>fruit = 'banana'
>>>letter = fruit[1]
>>>letter
'a'
字符串的第一個(gè)字母位置為0. 其長(zhǎng)度可由len(fruit)獲得
>>>len(fruit)
6
最后一個(gè)字符可以輸入fruit[-1]獲得
1. Traversal(遍歷) with a for loop
每次讀取一個(gè)字符,不斷重復(fù)遞進(jìn)。
index = 0
while index < len(fruit):
??? letter? = fruit[index]
??? print(letter)
??? index = index + 1
如果用for loop的話則簡(jiǎn)單很多
for letter in fruit:
??? print(letter)
2. String slices 切割字符串
>>>s = 'Monty Python'
>>>s[0 : 5]
'Monty'
切割時(shí)含頭不含尾,若不輸入第一個(gè)參數(shù)則從第一個(gè)字符(第0個(gè)位置)開始,不輸入第二個(gè)參數(shù)則在最后一個(gè)結(jié)束(包含最后一個(gè)),當(dāng)?shù)谝粋€(gè)大于或等于第二個(gè)時(shí)切割為空。
string[a:b:c] c為步數(shù),即每c個(gè)取一個(gè),若[::-1]則將字符串倒置。
3. Strings are immutable 字符串不可改變
不能直接給已經(jīng)存在的字符串賦值,即a[1] = 'J' 會(huì)被認(rèn)為是語法錯(cuò)誤。
一種方法為
>>>greeting? = 'Hello, world!'
>>>new_greeting = 'J' + greeting[1:]
>>>new_greeting
'Jello, world!'
4 String methods.
string.upper 將字符串字母大寫, 小寫為string.lower
string.fin('a', x, y)? 'a'可以為任意字符串,x為起始位置,y為終止位置,依然含頭不含尾,即在string中尋找a字符串,若找到返回第一個(gè)字符的位置,否則返回-1.
string.strip('a') 從頭和尾遍歷字符串,如果碰到'a'字符則去除,否則停止
string.replace(old, new[, count]), 將字符串中所有old字符替換為new字符,如果有輸入count,則頭count個(gè)old字符被替換。
string.count(sub[, start[, end]]), 計(jì)算sub字符串在string中的數(shù)量,從start位置開始,到end位置結(jié)束
5. The in operator
in 是一個(gè)布林值運(yùn)算符, 'a' in 'b',如果'b'中含有'a', 返回True, 否則False.
6. String comparison
比較字符串的首字母,大寫字母要小于小寫字母。