切片

  • int转换成bool 零: False 非零: True
  • "" 空字符串表示False, 非空字符串表示:True
  • None为 False
  • 通过索引获取到的内容. 还是一个字符串
  • 切片可以对字符串进行截取
  • 语法 s[起始位置: 结束位置:步长]
  • 特点:顾头不顾尾
s = "早起的鸟儿有虫吃"
print(s[0]) # 早
print(s[1]) # 起
print(s[-1]) # 吃 -1表示最后一个
print(s[-2]) # 虫
print(s[5:10]) # 有虫吃
print(s[5:]) # 有虫吃 默认到结尾
print(s[:10]) # 从头开始
print(s[:]) # 从头到尾都切出来
print(s[-2:]) # 虫吃 从-2 切到结尾 默认从左往右
print(s[1:5:2]) # 起鸟 从1开始, 到5结束, 每2个取1个
print(s[::3]) # 早鸟虫
print(s[6:2:-1]) # 虫有儿鸟 - 表示反着来. 每两个取1个
print(s[-1:-6:-2]) # 吃有鸟

字符串操作

s = "abc123"
print(s.isdigit()) # 判断字符串是否由数字组成
print(s.isalpha()) # 是否由字母组成
print(s.isalnum()) # 是否由字母和数字组成

结果:

False
False
True
name = 'my name is zou zou'
print(name.capitalize()) # 首字母大写
print(name.count('z')) # 统计z的个数
print(name.center(50, '-')) # 一共打印50个字符,不够了用-补上,把name的内容放中间
print(name.endswith('ou')) # 判断已什么结尾,正确返回 True,错误返回False
print(name.find('i'))
print(name[name.find('i'):])
print('123'.isdigit()) # 是整数返回True,要引号引起来
print('if'.isidentifier()) # 判断是不是一个合法的变量名

结果:

My name is zou zou
2
----------------my name is zou zou----------------
True
8
is zou zou
True
True

join可以把列表变成字符串, 把字符串变成列表.split()

s = '我是'
print(s.join("abc")) # 把字符串s插入到abc中

结果:

a我是b我是c

name = '我是'
print(name.join(['11', '22', '33']))

结果:

11我是22我是33
name = 'my name is zou zou'
print('='.join(['1', '2', '3'])) # 1=2=3
print(''.join(['1', '2', '3'])) # 123
print(name.ljust(50, "*")) # 长度为50,不够的在右边用*补
print(name.rjust(50, "*")) # 长度为50,不够的在左边用* 补
print('ZOU'.lower()) # 将大写变小写
print('zou'.upper()) # 将小写变大写
print(' \nAlex'.lstrip()) # 去掉左边的空格
print(' \nAlex\n'.rstrip()) # 去掉右边的空格
print('\nAlex\n'.strip()) # 去掉两边的空格
print('alex li'.replace('l', 'L', 1)) # 替换
print('alex Li'.rfind('L')) # 返回最右边l的下标
name = 'my name is zou zou'
print('1+2+3+4'.split('+')) # 按任意字符将字符串转换成列表
print(name.title()) # 将每个单词的首字母大写

结果:

['1', '2', '3', '4']
My Name Is Zou Zou
name = 'my name is {name} and i am {age} old'
print(name.format(name='Alex', age='33')) # 格式化
print(name.format_map({'name': 'zou zou', 'age': 23})) # 格式化接收的是字典

结果:

my name is Alex and i am 33 old
my name is zou zou and