定义字符串
1 >>> mystring = 'Hello Python' 2 >>> name = str('Mountain') 3 >>> mystring 4 'Hello Python' 5 >>> name 6 'Mountain'
通过索引或字符串切片可以访问字符串
1 >>> for i in range(len(name)): 2 ... print(name[i]) 3 ... 4 M 5 o 6 u 7 n 8 t 9 a 10 i 11 n 12 >>> mystring[:5] 13 'Hello'
字符串也适用比较操作符,逻辑操作符和成员操作符。
1 >>> mystring > name 2 False 3 >>> not mystring > name 4 True 5 >>> 'm' in name 6 False 7 >>> 'M' in name 8 True
字符串一些方法
capitalize() | 把字符串中的首字符大写 |
casefold() | 把字符串所有字符改为小写 |
center(width) | 将字符串居中,并使用空格填充长度width的新字符串 |
count(sub[,start[,end]]) | 返回sub在字符串里边出现次数,start,end表示范围 |
encode(encoding = 'utf-8',errors = 'strict') | 以encoding指定的格式对字符串进行编码 |
endswith(sub[,start[,end]]) | 检查字符串是否以sub结尾 |
expandtabs([tabsize = 8]) | 把字符串中tab符号( )转换为空格,如果不指定参数,默认空格数是tabsize = 8 |
find(sub[,start[,end]]) | 检测sub是否包含在字符串中,有返回索引,否则返回-1 |
index(sub[,start[,end]]) | 和find方法一样,如果find不在字符串中会产生一个异常 |
strip(chars) | 删除前后空格,chars参数定制删除的字符 |
isalnum() | 如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False |
isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False |
isdecimal() | 如果字符串只包含十进制数字则返回True,否则False |
isdigit() | 如果字符串只包含数字则返回True,否则返回False |
islower() | 如果字符串中至少包含一个区分大小写的字符,且这些字符为小写,则返回True,否则False |
isnumeric() | 是否只包含数字字符 |
isspace() | 是否只包含空格 |
istitle() | 字符串是否是标题化的 |
isupper() | 和islower()相反 |
join(sub) | 以字符串为分隔符,插入到sub中所有字符之间 |
ljust(width) | 返回一个左对齐字符串,并使用空格填充至长度为width的新字符串 |
lstrip(chars) | 删除左侧字符 |
lower() | 转换字符串中所有大写字符为小写 |
partition(sub) | 找到子字符串sub,把字符串分为一个元组(pre-sub,sub,fol-sub),如果不包含sub,返回(源字符串,‘ ’,‘ ’) |
replace(old,new[, count]) | 把字符串中的子字符串替换成new子字符串,如果count指定,则替换次数不超过count次 |
rfind(sub[,start[,end]]) | 类似于find,从右开始找 |
rindex(sub[,start[,end]]) | 类似于index,从右开始找 |
rjust(width) | 类似于ljust,右对齐 |
rpartition(sub) | 类似于partition(),从右开始找 |
rstrip() | 删除右侧字符 |
split(sep = None, maxsplit = -1) | 不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数设置,则仅分割maxsplit个子字符串,返回切片后的字符串拼接的列表 |
splitlines(([keepends])) | 按照' '分割,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行 |
startswith(prefix[,start[,end]]) | 是否以prefix开头 |
swapcase() | 转换大小写 |
title() | 返回标题化的字符串 |
translate(table) | 根据table的规则(可由str.maketrans('a', 'b')定制)转换字符串中的字符 |
upper() | 转换字符串中的所有小写字符为大写 |
zfill(width) |
返回长度为width的字符串,右对齐,前面用0填充 |
examples:
1 >>> temp = 'hello python' 2 >>> temp.capitalize() 3 'Hello python' 4 >>> temp.capitalize().casefold() 5 'hello python' 6 >>> temp.center(20) 7 ' hello python ' 8 >>> temp.count('o', 0, len(temp)) 9 2 10 >>> temp.encode() 11 b'hello python' 12 >>> temp = 'hello python' 13 >>> temp 14 'hello python' 15 >>> temp.expandtabs() 16 'hello python' 17 >>> temp.expandtabs(16) 18 'hello python' 19 20 >>> temp 21 'hello python' 22 >>> temp.find('o') 23 4 24 >>> temp.index('o') 25 4 26 >>> temp.strip('hn') 27 'ello pytho' 28 29 >>> temp.join(' ') 30 31 ' hello python hello python hello python hello python ' 32 >>> temp.join('abcd') 33 'ahello pythonbhello pythonchello pythond' 34 >>> temp.ljust(20) 35 'hello python ' 36 >>> temp.rjust(20) 37 ' hello python' 38 >>> temp.capitalize() 39 'Hello python' 40 >>> temp.capitalize().lower() 41 'hello python' 42 >>> temp.capitalize().upper() 43 'HELLO PYTHON' 44 >>> temp.partition(' ') 45 ('hello', ' ', 'python') 46 >>> temp.split(' ') 47 ['hello', 'python'] 48 >>> test = 'abbbbbbbbbc' 49 >>> test.translate(str.maketrans('b','t')) 50 'atttttttttc'