- 认识字符串
- 字符串特征
- 一对引号字符串
- 三引号字符串
- 下标索引
- 获取字符串长度
- 下标
- 切片
- 语法
- 常用操作方法
- 查找
- find()
- index()
- rfind()
- rindex()
- count()
- 修改
- replace()
- split()
- join()
- capitalize()
- title()
- lower()
- upper()
- lstrip()
- rstrip()
- strip()
- ljust()
- rjust()
- center()
- 判断
- startswith()
- endswith()
- isalpha()
- isdigit()
- isalnum()
- isspace()
字符串是 Python 中最常用的数据类型。我们一般使用引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。
a = 'hello world' b = "abcdefg" print(type(a)) print(type(b))
- 控制台显示结果为
, 即数据类型为str(字符串)。
- ' '或" "
- 双引号内可包含单引号,单引号内可包含双引号
- 双引号内若要有双引号,需要"转义
- 单引号内若要有单引号,需要'转义
name="Lily" age='17' words="Lily just said "Hi,I'm Lily"" speak='Lily just said "Hi,I'm Lily"' print(name) print(age) print(words) print(speak)三引号字符串
- 内部支持换行
a = ''' I am Jack,
nice to meet you! '''
b = """ I am Rose,
nice to meet you! """
print(a)
print(b)
下标索引
获取字符串长度
len(str)
返回字符串str的长度(length)
下标- “下标”又叫“索引”(index),就是编号。比如火车座位号,座位号的作用:按照编号快速找到对应的座位。同理,下标的作用即是通过下标快速找到对应的数据。
- 字符串下标从0开始计数,即0代表第一个字符,依次对应,直到length-1,对应最后一个字符。
- 字符串下标也可以为负,-1代表最后一个元素,以此类推
- 索引符号:[]
s="abcd" print(s[0],s[1],s[2],s[3],s[-1],s[-2],s[-3],s[-4],sep=" ")切片
- 切片(slice)是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
string[begin:end:step]
- 依次取以begin(包含)到end(不包含end)间以step为步长的下标所对应的字符
- step可为负
- begin,end,step均可舍去不写,分别默认为0/-1,length-1,1,但要保留第一个冒号
- 返回一个新字符串
s="abcdefgh" print(s[1:7:2]) print(s[5:1:-1]) print(s[1:4]) print(s[:])常用操作方法
字符串的常用操作方法有查找、修改和判断三大类。
查找所谓字符串查找方法即是查找子串在字符串中的位置或出现的次数。
find()-
检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。
-
语法
string.find(substring, begin, end)
-
开始和结束位置下标可以省略,表示在整个字符串序列中查找。
-
string="aghshmoneyjsjsjsjj" print(string.find("money")) print(string.find("money",6,17))
- 检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常。
- 语法
string.index(substring, begin, end)
- 开始和结束位置下标可以省略,表示在整个字符串序列中查找。
- 和find()功能相同,但查找方向为右侧开始。
- index()功能相同,但查找方向为右侧开始。
-
返回某个子串在字符串中出现的次数
-
语法
string.count(substring,begin, end)
- 开始和结束位置下标可以省略,表示在整个字符串序列中查找。
string="111666666666666111"
print(string.count("6"))
print(string.count("6",4,11))
print(string.count("0"))
修改
- 所谓修改字符串,指的就是通过函数的形式修改字符串中的数据。因为字符串是不可变序列,所以不能通过索引切片赋值的方式来改变字符串内的子串。
-
替换字符串中的子串
-
返回一个新字符串,原字符串不发生改变
-
语法
string.replace(old_substring, new_substring, max_times) max_times为最多替换的次数
如:
string="我恨学习,我爱摆烂"
print(string.replace("爱","恨"))
print(string.replace("恨","爱"))
print(string.replace("爱","恨").replace("恨","爱"))
print(string.replace("爱","恨").replace("恨","爱",1))
print(string)
split()
- 按照指定字符分割字符串,并返回一个字符串列表。
- 语法
string.split(sep, max_times) sep为分割字符,max_times为最多分割的次数
- 分割后,sep会在分割返回的字符串数组中消失
如:
s="111-222-333-4"
print(s.split("-"))
print(s.split("-",2))
join()
-
用一个字符或子串合并字符串序列(如split()形成的列表),即是将多个字符串合并为一个新的字符串。
-
语法
sep.join(strings)
- split()的反操作
如:
s="111-222-333-4"
print(s)
s1=s.split("-")
print(s1)
print("*".join(s1))
capitalize()
string.capitalize()
- 将字符串第一个字符转换成大写。
- 其他字符转化为小写
string.title()
- 将字符串每个单词首字母转换成大写。
string.lower()
- 将字符串中大写转小写。
string.lower
- 将字符串中小写转大写。
string.lstrip()
- 删除字符串左侧空白字符。
string.rstrip()
- 删除字符串右侧空白字符。
string.strip()
- 删除字符串两侧空白字符。
string.ljust(width, fillchar)
- 返回一个左对齐,并使用指定字符fillchar(默认空格)填充至对应长度(width)的新字符串
string.rjust(width, fillchar)
- 返回一个右对齐,并使用指定字符(默认空格)填充至对应长度 的新字符串
string.center(width, fillchar)
- 返回一个居中对齐,并使用指定字符(默认空格)填充至对应长度 的新字符串
- 所谓判断即是判断真假,返回的结果是布尔型数据类型:True 或 False。
-
检查字符串是否是以指定子串开头,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。
-
语法
string.startswith(substring, begin, end)endswith()
-
检查字符串是否是以指定子串结尾,是则返回 True,否则返回 False。如果设置开始和结束位置下标,则在指定范围内检查。
-
语法
string.endswith(substring, begin, end)isalpha()
string.isalpha()
- 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False。
string.isdight()
- 如果字符串只包含数字则返回 True 否则返回 False。
string.isalnum()
- 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False。
string.isspace()
- 如果字符串中只包含空白,则返回 True,否则返回 False。



