Python之字符串构造

Python之字符串构造

字符串str

  • 一个个字符组成的有序的序列,是字符的集合
  • 使用单引号、双引号、三引号引住的字符序列
  • 字符串是不可变对象,是字面常量

Python3起,字符串都是Unicode类型

x = 'abcde'

Python之字符串构造_第1张图片

  • 使用for循环遍历x的值,打印并查看类型。
    Python之字符串构造_第2张图片
  • 查询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'

常见报错

Python之字符串构造_第3张图片
Python之字符串构造_第4张图片
Python之字符串构造_第5张图片
Python之字符串构造_第6张图片
Python之字符串构造_第7张图片

join拼接的可迭代对象必须是字符串,range对象返回的是int类型,所有报错。

你可能感兴趣的:(Python,python,开发语言)