字符串是Python中常用的一种变量,由0个或多个字符组成一串字符。
创建字符串
通常用('或者")来创建,但格式为一行,如果要创建多行的字符串怎么办,要么用(\n)转义符,或者用('''*)来创建。
s1 = 'Hello, world!'
s2 = "Hello, world!"
s3 = "one:Hello, world! \n two:Hello, world!"
s4 = '''one
two
three'''
print(s1)
print(s2)
print(s3)
print(s4)
运行结果如下:
Hello, world!
Hello, world!
one:Hello, world!
two:Hello, world!
one
two
three
字符串拼接
可以将两个或多个字符串拼接组成一个新的字符中。
1、用(+)号拼接
s1 = 'Hello,'
s2 = "world!"
s3 = s1 + s2
print(s3)
运行结果如下:
Hello, world!
同理,多个字符串拼接也是一样的, 变量1+变量2+变量3·······
2、用(%)号格式化字符串
print('今天的天气是%s' %'多云')
print('今天的天气是%s,温度%d' %('多云', 23))
运行结果如下:
今天的天气是多云
今天的天气是多云,温度23
上实例中,第一个拼接了1个字符串,第二个实例中拼接了1个字符串1个整型,其中常用的拼接方式有:
符号 | 描述 |
---|---|
%s | 格式化字符串 |
%d | 格式化整型 |
%f | 格式化浮点数,可指定小数位数 |
3、str.format
s1 = '大括号{}跟美元符号的相似。'
s2 = '同意也可添加多个参数。{}和{}'
print(s1.format('用法'))
print(s2.format('第一个', '第二个'))
运行结果如下:
大括号用法跟美元符号的相似。
同意也可添加多个参数。第一个和第二个
Python 字符串内构建函数
由于函数较多,这里就直介绍几个常用。
find()、rfind()方法
find()返回字符串中是否包含子字符串,如果包含则返回位置,否则返回-1。
rfind()函数与find()一样,区别:rfind()函数是从右往左查找。
str1 = 'Hello, world!'
print('o所在的位置是:', str1.find('o'))
print('s所在的位置是:', str1.find('s'))
运行结果如下:
o所在的位置是: 4
s所在的位置是: -1
还可以设置起止位置,如果截止位置未设置,则默认为字符串的长度
str1 = 'Hello, world!'
print('o所在的位置是:', str1.find('o', 5, 10))
print('o所在的位置是:', str1.find('o', 5))
运行结果如下:
o所在的位置是: 8
o所在的位置是: 8
len()方法
返回字符串的长度
str1 = 'Hello, world!'
print('字符串的长度:', len(str1))
运行结果如下:
字符串的长度: 13
strip()、lstrip()、rstrip() 方法
strip()删除首尾指定的字符串,如果为空则默认删除空格
注意:此方法只能删除首尾的字符,不能删除字符串中间的字符
str1 = '***Hello, world! '
print(str1.strip()) #删除空格
print(str1.strip('*')) #删除*号
运行结果如下:
***Hello, world!
Hello, world!
由于删除空格复制出来的信息无法直观展示,请各位自行尝试。
lstrip()是删除字符串首的指定字符;
rstrip()则是删除字符串尾部的指定字符。
index() 方法
与find()函数相似
区别:
1、find()函数只能对字符串查找,index()函数还能对列表进行查找
2、find()函数如果未找到到,则返回-1,index()函数如果没有找到,则会报错
如下是对列表查找的实例
list1 = ['one', 'two', 'three']
print(list1.index('two'))
print(list1.find('two'))
运行结果如下:
1
Traceback (most recent call last):
File "字符串.py", line 4, in <module>
print(list1.find('two'))
AttributeError: 'list' object has no attribute 'find'
如下是对字符串查找的实例
str1 = 'one two three'
print(str1.find('two'))
print(str1.index('two'))
print(str1.index('abc'))
运行结果如下:
4
4
Traceback (most recent call last):
File "字符串.py", line 7, in <module>
print(str1.index('abc'))
ValueError: substring not found
replace()函数
将字符串中指定的字符串替换为新的字符串,可指定最多替换次数
str1 = 'one two three'
print(str1.replace('two', 'abc'))
str2 = 'one onetwo onesss one one'
print(str2.replace('one', 'BBB', 3))
运行结果如下:
one abc three
BBB BBBtwo BBBsss one one
max()、min() 函数
返回最大值,最小值,可对字符串用,可对列表用
l1 = [1, 3, 4, 2, 1, 6, 4]
l2 = '1342164'
print(max(l1))
print(max(l2))
print(min(l1))
print(min(l2))
运行结果如下:
6
6
1
1
split()函数
用指定字符分割字符串,返回列表
s = 'aaa,bbb,ccc,ddd'
l = s.split(',')
for i in l:
print(i)
运行结果如下:
aaa
bbb
ccc
ddd
结语
以上是比较常用的,如果遗漏或错误,还请指出。
最后,希望本文能给您带来帮助。
网友评论