目录
字符串
认识字符串
字符串是Python中最常用的数据类型。我们一般使用引号来创建字符串。创建字符串很简单,只要为变量分配一个值即可。
a = 'hello world'
注意:控制台显示结果为<class 'str'>,即数据类型str(字符串)
字符串特征
1.一对引号字符串
name1 = 'TOM'
name2 = "Rose"
2.三引号字符串
name3 = '''TOM'''
name4 = """Rose"""
a = ''' I am Tom,
nice to meet you!'''
注意下面这种情况
b = 'I'm Tom' # 此处会报错
b = 'I\'m Tom' # 加转义符号
字符串的输出
print('hello world')
name = 'Tom'
print('我的名字是%s'%name)
print(f'我的名字是{name}')
字符串的输入
在Python中,使用input()接收用户输入。
代码
name = input('请输入您的名字:')
下标
“下标”又叫“索引”,就是编号。比如火车座位号,座位号的作用:按照编号快速找到对应的座位。同理,下表的作用即是通过找到对应的数据。
数据在程序运行的过程中存储在内存。
str1 = 'LOVE'
# 这些字符数据从0开始顺序分配一个编号 -- 使用这个编号找到某个字符数据 -- 下标或索引值
# 得到L或O
# str1[下标]
print(str1[0])
print(str1[1])
切片
语法
序列[开始位置下标:结束位置下标:步长]
注意:1.不包含结束位置下标对应的数据,正负整数均可。
2.步长是选取间隔,正负均可,默认步长为1。
体验
>>> a = 'abcdefg'
>>> a[2:5:1]
'cde'
>>> a[2:5]
'cde'
>>> a[5]
'f'
>>> a[:5]
'abcde'
常用操作方法
字符串的常用操作方法有查找、修改和判断三大类。
查找
所谓查找字符串查找方法即是查找子串在字符串中的位置或出现的次数。
find():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则返回-1。
1.语法
字符串序列.fand(子串,开始位置下标,结束位置下标)
注意:开始和结束下标可以省略,表示在整个字符串序列中查找。
2.快速体验
str1 = 'hello world and python and Tom'
print(str1.find('and')) # 12
print(str1.find('and',15)) # 从15开始查找 # 23
print(str1.find('ands')) # 返回-1
index():检测某个子串是否包含在整个字符串中,如果在返回这个子串开始的位置下标,否则则报异常。
1.语法
字符串序列.index(子串,开始位置下标,结束位置下标)
2.快速体验
str1 = 'hello world and python and Tom'
print(str1.index('and')) # 12
print(str1.index('and',15)) # 从15开始查找 # 23
print(str1.index('ands')) # 报错
count():返回某个子串在字符串中出现的次数。
1.语法
字符串序列.count(子串,开始位置下标,结束位置下标)
快速体验
str1 = 'hello world and python and Tom'
print(str1.count('and')) # 2
print(str1.count('and',15)) # 从15开始查找 # 1
print(str1.count('ands')) # 0
rfind():和find()功能相同,但查找方向为右侧开始。
rindex():和index()功能相同,但查找方向为右侧开始。
修改
所谓修改字符串,指的就是通过函数的形式修改字符串中的数据。
replace():替换
1.语法
字符串序列.replace(旧子串,新子串,替换次数)
注意:替换次数如果查出子串出现次数,则替换次数为该子串出现次数。
2.快速体验
str1 = 'hello world and python and Tom'
print(str1.replace('and','和'))
注意:数据按照是否能直接修改分为可变类型和不可变类型两种。字符串类型的数据修改的时候不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型。
split():按照指定字符分割字符串
1.语法
字符串序列.split(分割字符,num)
注意:num表示的是分割字符出现的次数,即将返回数据个数为num+1个。
2.快速体验
str1 = 'hello world and python and Tom'
print(str1.split('and')) # ['hello world ', ' python ', ' Tom']
print(str1.split('and',1)) # ['hello world ', ' python and Tom']
join():用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串
1.语法
字符或子串.join(多字符串组成的序列)
2.快速体验
li = ['aa','bb','cc']
a = '/'
print(a.join(li)) # aa/bb/cc
capitalize():将字符串第一个字符转换成大写。
title():将字符串每个单词首字母转换成大写。
lower():将字符串中大写转小写。
upper():将字符串中小写转大写。
删除空白
lstrip():删除字符串左侧空白字符。
rstrip():删除字符串右侧空白字符。
strip():删除字符串两侧空白字符。
对齐
ljust():返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。
1.语法
字符串序列.ljust(长度,填充字符)
rjust():返回一个原字符串右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。
1.语法
字符串序列.rjust(长度,填充字符)
conter():返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串。
1.语法
字符串序列.center(长度,填充字符)
判断
所谓判断即是判断真假,返回的结果是布尔型数据类型:True或False。
startswith():检查字符串是否以指定字串开头,是则返回Ture,否则返回False。如果设置开始和结束位置下标,则在指定范围内检查。
字符串序列.startswith(子串,开始位置下标,结束位置下标)
endswith():检查字符串是否以指定字串结尾,是则返回Ture,否则返回False。如果设置开始和结束位置下标,则在指定范围内检查。
字符串序列.endswith(子串,开始位置下标,结束位置下标)
isalpha():如果字符串至少有一个字符且所有字符都是字母则返回Ture,否则返回False。
isdigit():如果字符串只包含数字则返回Ture,否则返回False。
isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返回Ture,否则返回False。
isspace():如果字符串中只包含空白,则返回Ture,否则返回False。