Think Python Chapter 8 Strings
Strings 字符串
一个字符串是一个序列,例如:
>>>fruit = 'banana'
>>>letter = fruit[1]
>>>letter
'a'
字符串的第一个字母位置为0. 其长度可由len(fruit)获得
>>>len(fruit)
6
最后一个字符可以输入fruit[-1]获得
1. Traversal(遍历) with a for loop
每次读取一个字符,不断重复递进。
index = 0
while index < len(fruit):
letter = fruit[index]
print(letter)
index = index + 1
如果用for loop的话则简单很多
for letter in fruit:
print(letter)
2. String slices 切割字符串
>>>s = 'Monty Python'
>>>s[0 : 5]
'Monty'
切割时含头不含尾,若不输入第一个参数则从第一个字符(第0个位置)开始,不输入第二个参数则在最后一个结束(包含最后一个),当第一个大于或等于第二个时切割为空。
string[a:b:c] c为步数,即每c个取一个,若[::-1]则将字符串倒置。
3. Strings are immutable 字符串不可改变
不能直接给已经存在的字符串赋值,即a[1] = 'J' 会被认为是语法错误。
一种方法为
>>>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字符串,若找到返回第一个字符的位置,否则返回-1.
string.strip('a') 从头和尾遍历字符串,如果碰到'a'字符则去除,否则停止
string.replace(old, new[, count]), 将字符串中所有old字符替换为new字符,如果有输入count,则头count个old字符被替换。
string.count(sub[, start[, end]]), 计算sub字符串在string中的数量,从start位置开始,到end位置结束
5. The in operator
in 是一个布林值运算符, 'a' in 'b',如果'b'中含有'a', 返回True, 否则False.
6. String comparison
比较字符串的首字母,大写字母要小于小写字母。