序列中的字符串:
……
目录:
一;字符串的格式
二;原始字符串
三;字符串不能被修改
四;与字符串相关的函数
……
一;字符串的格式
有单引号、双引号、三引号三种形式。
例如:
a=’oqbviuw’
a=”oqbviuw”
单引号和双引号都可以表示其是一个字符串。
a=’’’oqbv
iuw’’’
这是三引号,三引号可以包含多行字符串。
其实单引号和双引号也可以表示包含多行字符串,不过写法上有些不同,比如下面的程序:
a='oqbv' \
'iuw'
在尾缀后面加上一个反斜杠,就可以用单引号表示包含多行字符串了。
……
……
二;原始字符串
在一个字符串前加上r,表示这个字符串是原始字符串,其中的\不能当作是转义字符的前缀。
比如:
a='oqbv\niuw'
print(a)
会得到输出:
oqbv
iuw
但如果加了r:
a=r'oqbv\niuw'
print(a)
会得到这样的输出:
oqbv\niuw
……
……
三;字符串不能被修改
和其它序列不同,字符串是不能被修改的,只能重新赋值。
a=’oqbviuw’
a[0]=’A’
程序就会报错。
但如果像下面这样重新赋值,其实是可以的:
a='oqbviuw'
a='abc'
……
……
四;与字符串相关的函数

1;find()函数
find()函数用来查找字符串中的字符或字符串。
比如:
a='oqbviuw'
print(a.find('v'))
print(a.find('vi'))
程序会输出:
3
3
查找字符是从0开始查找,一直找到字符或者字符串为止,然后输出字符的位置或者字符串的首个字符的位置,如果找不到相符的字符或字符串,就会输出-1。
还可以指定查找的初始位置,比如a.find(‘v’,4),就是从下标为4的元素开始查找,一直查找到字符串末尾。
还可以指定查找的末尾位置,比如a.find(‘v’,2,-2),就是从下标为2的元素开始查找,一直查找到下标为-2的元素。
……
2;count()函数
可以统计某个字符或者字符串在整个字符串中出现的次数。
比如:
a='oqbviuw'
print(a.count('v'))
会输出:
1
也就是说,’v’这个字符,在a中出现过一次。
同样的,count()函数可以像find()函数那样指定统计的初始位置和末尾位置。
……
3;title()函数
title()函数可以让单词的首个字母变成大写。
比如这样一段程序:
a='abc bbc ccd,add.app'
print(a.title())
会输出:
Abc Bbc Ccd,Add.App
单词的首个字母,全部变成了大写。
……
4;lstrip()函数和strip()函数
lstrip()函数可以删除字符串左边的空格。
strip()函数可以删除字符串左右两边的空格。
比如:
a=' abc d '
print(a)
print(a.lstrip())
print(a.strip())
运行后会输出:
abc d
abc d
abc d
第一行输出是原来的字符串。(注意:第一行输出的后面其实有两个空格,看上去没有,实际上是有的)
第二行的输出则是删除了左边的空格,但右边其实还有两个空行没删除。
而第三行则是把左右两边的空格都删除了。
……
5;replace()函数
replace()函数可以替换字符串中的子串。
之前说过,字符串是不能被修改的,但却可以用replace()函数进行替换。
比如:
a='hello world!'
b=a.replace('o ',' is ')
print(b)
就会输出:
hell is world!
使用replace()函数替换还是挺方便的。
……
6;str()函数
使用str()函数可以将数字转化为字符串。
比如:
a='hello world!'
m=2
m1=str(m)
print(a+m1)
会输出:
hello world!2
这是两个字符串的相加。如果没有将数字转化为字符串就直接相加的话,一定会报错的,因为数字是无法和字符串相加的,但字符串可以和字符串进行相加。
……
7;格式化字符串——f-string
格式化字符串可以使得字符串的使用更加灵活。
比如:
a='hello'
b=f'{a} world'
print(b)
会输出:
hello world