定义:使用单引号、双引号进行定义
one_str = "双引号标注的字符串"
two_str = '单引号标注的字符串'
1.转义:如果在定义字符串时,字符串中间出现单引号或双引号,可以通过\进行转义
# 使用\进行转义
str3 = 'I\'m a student'
print(str3)
2.字符串的索引:正向索引,从0开始。逆向索引,从-1开始。
str1 = "python3"
print(str1[1]) # 取出索引为1的字符,即字符y
print(str1[-2]) # 取出反向索引为-2的字符,即字符o
3.字符串的切片:切片的格式为 字符串[开始索引:结束索引:步长]。当步长为0时,步长和冒号都可以省略掉。即字符串[开始索引:结束索引]
切片特征有:
a.取头不取尾
b.从第一个字符开始时,索引0,可以省略。
c.反向索引时,一直取到结束,-1可以省略
d.从头取到尾时,开始索引和结束索引都可以不写,只写冒号就可以了
e.有步长时,根据步长,间隔字符长度取出对应字符
#切片,取连续字符,省略步长,且取头不取尾。
print(str1[1:3]) # 取出yt
print(str1[:3]) # 取出pyt。 如果是从第一个字符取,索引是0,可以省略掉,但是冒号不能省略
print(str1[-3:]) # 取出hon。 如果是反向索引,到末尾,-1也可以省略。
print(str1[:]) # 从头取到尾
# 间隔性取出字符, 格式 str[开始索引:结束索引:步长]
print(str1[0:5:2]) # 取出pto
4.常用方法
isalnum:判断字符串内容,是不是全部由字母和数字组成, 如果全部是字母、全部是数字、或者全部是字母和数字,则返回True
str1 = "python3"
str2 = "python"
str3 = "123"
str4 = "PYTHON"
str5 = "123+456"
# 判断字符串内容,是不是全部由字母和数字组成, 如果全部是字母、全部是数字、或者全部是字母和数字,则返回True
print(str1.isalnum())
print(str2.isalnum())
print(str3.isalnum())
print(str5.isalnum())
isalpha:判断字符串内容,是不是全部是字符组成,是则返回True
str1 = "python3"
str2 = "python"
str3 = "123"
str4 = "PYTHON"
str5 = "123+456"
# isalpha 判断字符串内容,是不是全部是字符组成,是则返回True
print(str1.isalpha())
print(str2.isalpha())
isdigit: 判断字符串内容,是不是全部由数字组成
str1 = "python3"
str2 = "python"
str3 = "123"
str4 = "PYTHON"
str5 = "123+456"
# isdigit: 判断字符串内容,是不是全部由数字组成
print(str1.isdigit())
print(str3.isdigit())
islower: 判断字符串内容是不是全部是小写组成
str1 = "python3"
str2 = "python"
str3 = "123"
str4 = "PYTHON"
str5 = "123+456"
# islower: 判断字符串内容是不是全部是小写组成
print(str4.islower())
print(str2.islower())
isupper: 判断字符串内容是不是全部是大写组成
str1 = "python3"
str2 = "python"
str3 = "123"
str4 = "PYTHON"
str5 = "123+456"
# isupper: 判断字符串内容是不是全部是大写组成
print(str4.isupper())
print(str2.isupper())
startswith: 判断字符串内容是不是以某个字符开头,是则返回True
str1 = "python3"
str2 = "python"
str3 = "123"
str4 = "PYTHON"
str5 = "123+456"
# startswith: 判断字符串内容是不是以某个字符开头,是则返回True
print(str1.startswith('py'))
print(str3.startswith('py'))
endswith: 判断字符串内容是不是以某个字符结尾,是则返回True
str1 = "python3"
str2 = "python"
str3 = "123"
str4 = "PYTHON"
str5 = "123+456"
# endswith: 判断字符串内容是不是以某个字符结尾,是则返回True
print(str1.endswith('on'))
print(str2.endswith('on'))
find: 检测字符是否在字符串中存在,如果有start和end,则在start和end,则在这个范围内,检测字符是否存在,检测到则返回索引,检测不到则返回-1
str1 = "python3"
str2 = "python"
str3 = "123"
str4 = "PYTHON"
str5 = "123+456"
# find: 检测字符是否在字符串中存在,如果有start和end,则在start和end,则在这个范围内,检测字符是否存在,检测到则返回索引,检测不到则返回-1
print(str1.find('o'))
print(str2.find('on3'))
print(str1.find('o', 0, 3))
replace: 替换字符,有数字,则替换次数指定
str1 = "python3"
str2 = "python"
str3 = "123"
str4 = "PYTHON"
str5 = "123+456"
# replace: 替换字符,有数字,则替换次数指定
print(str1.replace('o', 'oo', 1))
split 分割字符
# split 分割字符,分割为列表
print(str2.split(' ')) # 使用空格分割字符
join 连接字符
list1 = ['test', 'python']
# join 连接字符
print('-'.join(list1)) # 以横杠连接列表中的各个字符
6.大小写转换
str1 = "python3"
str2 = "python test"
str3 = "PythON"
str4 = "PYTHON"
str5 = "123+456"
print(str1.capitalize()) # 字符串中的第一个字符大写
print(str2.title()) # 字符串中的每一个单词的第一个字符大写
print(str4.lower()) # 字符串中所有大写字符变为小写
print(str1.upper()) # 字符串中所有小写字符变为大写
print(str3.swapcase()) # 字符串中的大写变为小写,小写变为大写