Python基础-字符串(String)

2019-01-07  本文已影响0人  adkins_y

字符串是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

结语

以上是比较常用的,如果遗漏或错误,还请指出。
最后,希望本文能给您带来帮助。

上一篇下一篇

猜你喜欢

热点阅读