Python之字符串构造
字符串str
- 一个个字符组成的有序的序列,是字符的集合
- 使用单引号、双引号、三引号引住的字符序列
- 字符串是不可变对象,是字面常量
Python3起,字符串都是Unicode类型
x = 'abcde'
- 使用for循环遍历x的值,打印并查看类型。
- 查询find方法的帮助,要擅用帮助,虽然我英文也很烂。
- S.find(sub[, start[, end]]) -> int
- S.rfind(sub[, start[, end]]) -> int # 都是正索引
- 返回负数,表示没有找到,不抛出异常
x = 'abcdeabc'
x
# 'abcdeabc'
x.find('ab')
# x字符串中查找ab的值
# 返回结果0,表示索引
x.find('ab', 1)
# 1指定查找的开始索引,这样就把0的a跳过了
# 返回结果是5,表示索引
x.find('ab', 5)
# 返回结果是5,表示索引
x.rfind('abd')
# 返回结果是-1,表示没有找到。
- x.index, x.rindex 找不到抛异常ValueError,详见下面常见报错
x.count('ab')
# count方法,查找ab在x中出现了几次
'a' + 'b'
# 字符串拼接,返回全新字符串'ab'
'ab' * 3
# 字符串重复3次,返回全新字符串'ababab'
join方法
- sep.join(iterable)
- 使用指定字符串作为分隔符,将可迭代对象中字符串使用这个分隔符拼接起来
- 可迭代对象必须是字符串
- 返回一个新的字符串
str.join?
# 查看join的帮助信息
# str.join(self, iterable, /)
''.join('abc')
# 不指定分隔符就不分割
# 返回:'abc'
'a'.join('abc')
# 指定a为分隔符
# 返回:'aabac'
'::'.join('abc')
# 指定::为分隔符
# 返回:'a::b::c'
",".join(map(str, range(1, 6)))
# 强制类型转换,map把一个类型变成另一个样子
# '1,2,3,4,5'
常见报错