1、**
字符串的三种定义方式
**,及其中的差别
(1)、’ ’ 定义
(2)、" “定义
(3)、”"" “”" 定义,注意使用这个定义的时候,换行也不影响。
# 第一种方式,采用单引号
a = 'machine'
print(a)
# 注意和下面这个方式的输出差别,尤其是反斜杠的使用
b = 'mach'\
'ine'
print(b)
# 第二种方式,用双引号
c = "you are so cool!"
print(c)
print(type(c))
# 第三种方式,采用三个单引号,注意此时可以隔行输出
d = '''you are
so cool!'''
print(d)
2、
字符串切片
:切片是指对操作的对象截取其中一部分的操作。字符串、列表、元祖都支持切片操作
2.1、语法为:序列[开始位置下标:结束位置下标:步长]
k = 'youaresocool!'
print(k[3:6])
print(k[2:8:2])
# 其中起始位置下标和结束位置下标都可以省略,这里默认从头(到结束)
print(k[:6])
print(k[3:])
print(k[:])
# 注意:起始位置、终止位置、步长都可以为负值,具体需要时可以再进行尝试
3、字符串查找功能的实现
3.1、所谓查找即是查找子串在字符串中的位置或者出现的次数,主要是运用find()、index()、count()函数
k = 'Hello World and you are so beautiful and cool!'
# find() 注意:rfind(),和其功能相同,但是查找方向是从右侧开始
# print(k.find('and')) # 12
# print(k.find('and',15,40)) # 37
# print(k.find('soo')) # 若查找不到,返回 -1
# index() 注意:rindex(),和其功能相同,但是查找方向是从右侧开始
# print(k.index('so')) # 12
# print(k.index("and", 15, 40)) # 37
# print(k.index('soo')) # 若查找不到,就会显示程序出错
# count() 函数返回的是某个子串在整个字符串中出现的次数
# print(k.count('and')) # 2
# print(k.count('ands')) # 0
# replace() :注意:使用replace()函数以后发现原有字符串的数据并没有修改,修改后的数据是replace函数的返回值
new = k.replace('and', 'or')
print(new) # 说明字符串属于不可变数据类型(根据数据是否可发生改变,可以分为可变和不可变数据类型
4、字符串修改
4.1、字符串在子串的修改函数(replace()函数)
4.2、字符串分割,利用split()函数
4.3、字符串合并,利用join()函数
4.4、字符串修改非重点:
字符串首字母大写-capitalize()
字符串中每个单词首字母大写-title()
字符串中每个字符小写转大写-upper()
字符串中每个字符大写转小写-lower()
4.5、其他字符串修改函数
删除字符串左侧空白字符-lstrip()
删除字符串右侧空白字符-rstrip()
删除字符串两侧空白字符-strip()
增加字符串长度,并填充右侧范围-k.ljust(10, '.')
增加字符串长度,并填充左侧范围-k.rjust(10, '.')
增加字符串长度,并填充两侧范围-k.center(10, '.')
k = 'Hello World and you are so beautiful and cool!'
# replace() :注意:使用replace()函数以后发现原有字符串的数据并没有修改,修改后的数据是replace函数的返回值
# new = k.replace('and', 'or')
# print(new) # 说明字符串属于不可变数据类型(根据数据是否可发生改变,可以分为可变和不可变数据类型
# split() 分割,返回一个列表,丢失分割字母
# list1 = k.split('and')
# list2 = k.split('and', 1) # 后面的数字可以调控分割几个关键词
# print(list2)
# join() 合并,使列表里面的字符数据合并成一个大的字符串
my_list = ['you', 'are', 'so', 'cool!']
new_list = ' '.join(my_list)
print(new_list)
new2 = k.upper()
print(new2)
5、字符串判断
所谓判断即判断真假,返回的结果即布尔数据类型:True或False
startswith()-检查字符串是否以指定子串开头,是则返回True,否则返回False,也可设置开始和结束点,进行指定范围判定
endswith()-以指定子串结束
isalpha(): 如果字符串至少含有一个字符,并且所有字符都是字母返回True,否则返回False
isdigit(): 如果字符串只包含数字则返回True,否则返回False
isalnum(): 数字或字母或组合(不包含空白字符)
isspace(): 判断是否空白
k = 'So beautiful a girl!'
# startswith()语法:字符串序列.startswith(子串,开始位置下标,结束位置下标)
print(k.startswith('So', 6)) # False
# isalpha(): 如果字符串至少含有一个字符,并且所有字符都是字母返回True,否则返回False
print(k.isalpha()) # False,因为含有空字符不是字母
# isdigit(): 如果字符串只包含数字则返回True,否则返回False
m = '123456'
print(m.isdigit()) # True
# isalnum(): 数字或字母或组合(不包含空白字符)
n = 'ahb54k'
print(n.isalnum())