1.字符串的定义
字符串其实就是一个“有序”的字符序列
字符 -> 字符串中最小的单元 -> 字符串的元素
字符串是不可变的
4种定义方式:(1)a = "hello" (2) a ='hello' (3) a = """hello""" (4) a = str()
2.字符串的下标索引和切片
(1)下标索引
下标索引的顺序(0,1,2,3,...)-> 从左到右
下标索引的顺序(-1,-2,-3,-4,...)-> 从右到左
(2)切片
切片的语法:[起始:结束:步长]
选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔
默认步长是为1的
字符串快速逆置 ——> [::-1] --> 表示从后向前,按步长为1进行取值
字符串是不会变的 不会改变其本身,切片处理的时候可以认为在操控的是一个副本
3.字符串的常见操作
a = "abcdeffFFFF" # 定义字符串
(1)查找字符串(find、index、rfind、rindex)
ret = a.find("a") # 找到返回开始的索引值 0
ret = a.find("q") # 找不到返回-1
ret = a.index("a") # 找到返回开始的索引值 0
ret = a.index("q") # 找不到会报一个异常
# 类似于 find()函数,不过是从右边开始查找.
ret = a.rfind("d") # 返回3
# 类似于 index(),不过是从右边开始.
ret = a.rindex("dd") # 找不到,报异常
(2)查找字符串出现的次数(count)
ret = a.count("f") # 返回2
ret = a.count("g") # 返回0
(3)替换字符串(replace)
# 将字符串中的"f"替换为"g",替换次数不超过1
ret = a.replace("f", "g", 1) # 返回abcdegfFFFF
(4)分割字符串(split,partition, rpartition, spilitlines)
# 以"b"为分割符进行分割
ret = a.split("b") # 返回结果 ['a', 'cdeffFFFF']
# 把字符串以"cd"分割成三部分
ret= a.partition("cd") # 返回 ('ab', 'cd', 'effFFFF')
# rpartition类似于 partition()函数,从右边开始
ret = a.rpartition("f") # 返回('abcdef', 'f', 'FFFF')
# splitlines按照行分隔,返回一个包含各行作为元素的列表
b = "hello\nworld"
c = b.splitlines() # 返回['hello', 'world']
(5)转化字符串大小写(capitalize,title,lower,upper)
# 把字符串的第一个字符大写, 其余为小写
ret = a.capitalize() # 返回结果Abcdeffffff
# 把字符串的每个单词首字母大写, 其余为小写
ret = a.title() # 返回结果Abcdeffffff
# 把字符串中所有字符转化为小写
ret = a.lower() # 返回结果abcdeffffff
# 把字符串中所有字符转化为小写
ret = a.upper() # 返回结果ABCDEFFFFFF
(6)检查字符串开头和结尾(startswith,endswith)
# 检查字符串是否是以"a"开头, 是则返回 True,否则返回 False
ret = a.startswith("a") # 返回 True
# 检查字符串是否以"f"结束,如果是返回True,否则返回 False.
ret = a.endswith("f") # 返回 False
(7)字符串对齐方式(ljust,rjust,center)
# 返回一个原字符串左对齐,并使用字符串"x"填充至长度15的新字符串
ret = a.ljust(15, "x") # 返回结果abcdeffFFFFxxxx
# 返回一个原字符串右对齐,并使用字符串"x"填充至长度15的新字符串
ret = a.rjust(15, "x") # 返回结果xxxxabcdeffFFFF
# 返回一个原字符串居中,并使用字符串"x"填充至长度15的新字符串
ret14 = a.center(15, "x") #返回结果xxabcdeffFFFFxx
(7)删除字符串中的空白字符(lstrip,rstrip,strip)
# 删除字符串左边的空白字符
a = " hello"
ret = a.lstrip() # 返回"hello"
# 删除字符串末尾的空白字符
a = "hello "
ret = a.rstrip() # 返回"hello"
# 删除字符串两端的空白字符
a = " hello "
ret = a.strip() # 返回"hello"
(8)判断字符串中的字符的类型(isalpha,isdigit,isalnum, isspace)
# isalpha如果字符串中所有字符都是字母 则返回 True,否则返回False
ret = a.isalpha() # 返回True
# isdigit如果字符串中只包含数字则返回 True 否则返回 False
ret = a.isdigit() # 返回False
# isalnum如果字符串中所有字符都是字母或数字则返回 True,否则返回 False
ret25 = a.isalnum() # 返回False
# isspace如果字符串中只包含空格,则返回 True,否则返回 False.
ret26 = a.isspace() # 返回False
(8)插入字符串,构成新字符串(join)
my_list = ["a", "b", "c"]
str = "1"
str1 = str.join(my_list) # 返回a1b1c