字符串(string)特点:
- 不可修改
- 独立的字符组成, 通过slice切片操作顺序访问
创建
- ‘’ or "" or str()
aString = 'alex Chai' # 单引号创建string bString = "There is always one song \tthat brings back old memories. " # 双引号创建string cString = '{name} is {age}'
访问
print(aString[3]) print(bString[6:15])
x
is always
函数操作
aString = 'alex Chai' # 单引号创建string bString = "There is always one song \tthat brings back old memories. " # 双引号创建string cString = '{name} is {age}' # 访问 print(aString[3]) print(bString[6:15]) # len() print(len(aString)) # 返回字符串的字符数 # max() 和 min() print(max(aString)) # 返回最大字符(按ASCII码排列) print(min(aString)) # 返回最小字符(按ASCII码排列) # enumerate() 重要,提取并打印下标值和字符,for循环; eString = 'foobar' for i,t in enumerate(eString): print(i,t) # 返回值e.g. (0,f) # string的内建函数操作 print(aString.capitalize()) # 首字母大写 print(aString.count('a')) # 统计string中有多少个‘a’ print(aString.center(20, '-')) # 格式化输出的一种 print(aString.encode()) print(aString.endswith('ex')) # 判断该string是否以ex结尾 print(bString.expandtabs(20)) # Tab键插入20个空格 print(bString.find('one')) # 找到搜索字的下标需要 print(bString[bString.find("one"):20]) # 字符串的slice应用 print(cString.format(name="Alex", age=22)) # 重要,format的使用 print(cString.format_map({'name': 'alex', 'age': 22})) # 应用于字典 print('ab123'.isalnum()) # 判断是否是阿拉伯数字 print('ab23'.isalpha()) # 是否纯英语字符 print('1A'.isdecimal()) print('1'.isdigit()) # 判断是否是个整数 print('_time_'.isidentifier()) # 判断是否是个合格的标识符 print("223".isnumeric()) # 和isdigit的用法相同 print(" ".isspace()) # 判断是否是个空格 print('My Name'.istitle()) # 判断是否首字母大写 print('My Name'.isprintable()) # tty file, drive file不可打印 print('+'.join(['1', '3', '5'])) # 重要,将列表转为字符串 print(aString.ljust(20, '*')) print(aString.rjust(20, '*')) print('NORMAL'.lower()) # 将大写变为小写 print('normal'.upper()) # 将小写变为大写 print('\nAlex\n'.lstrip()) # 去除left的空行 print('\nAlex\n'.strip()) # 去除right的空行 print('\nAlex\n'.strip()) # 去除的全部空行 dString = str.maketrans('abcdef', '123456') print('longbadar'.translate(dString)) # 加密密码 print('Cool'.replace('l', 'L')) # 替换 print('Cool'.rfind('o')) # 返回最后一个o的下标 print('A#B#C#D#E'.split('#')) # 重要,按#将字符串变为list print('A#B#C#D#E'.splitlines()) # windows下,就等于split('\n') print('CooL'.swapcase()) # 大小写互换 print('cool'.title()) # 首字母大写 print('lex li'.zfill(20))
字符串的格式化操作符(%)
% s: str()函数进行字符串转换
%d: 数据
%f: 浮点数
特殊字符串
八进制 | 说明 | 八进制 | 说明 |
\0 | 空字符 Nul | \a | 响铃字符 |
\b | 退格 | \t | Tab键 横向制表符 |
\n | 换行 | \v | 纵向制表符 |
\f | 换页 | \r | 回车 |
\e | 转义 | \'' | 双引号 |
\\ | \ | \' | 单引号 |