【Python8】Python中字符串的用法

字符串

字符串是Python中最常用的数据类型,是由单引号或双引号括起来的一串字符,这种灵活性可以让你在字符串中包含引号和撇号(在python2.x版本中不识别单引号)

例如:

str1='有一句名言出自鲁迅:"人的悲喜并不相通,我只觉得他们吵闹"'
str2="中文里的'我靠'是一个意义多样的词语"
str3="I'm a super carry mid!"
print(str1+'\n'+str2+'\n'+str3)

  • 将用户的信息存到一个变量中,打印一句欢迎他的话
    username='Eric'
    print('Welcome,'+username+',欢迎来到python的编码世界')

     

1.字符串加法

字符串加法会把加号两边的字符串拼接在一起。例如

print('1'+'2')
print(1+2)

注意:将两个字符串相加时,它们之间没有空格,两个字符串会紧紧地拼接在一起。例如:

print('hello' + 'world')

输出为:

 使用字符串加法拼接字符串时应注意避免类型错误,使用str()函数:

如这个函数直接把int型的age和字符串拼接在一起,出现报错

age=22
message='我今年'
print(message+str(age)+'岁了!')

使用类型转换后,正常运行结果:

2.字符串乘法

在Python中,我们可以用星号(*)来复制当前的字符串。例如:

print('a' * 10)

输出为:

aaaaaaaaaa

3.使用方法修改字符串的大小写

对于字符串,可执行的最简单的操作之一是修改其中的单词的大小写。

这里介绍三种修改字符串的大小写的方法:

title()     以首字母大写的方式显示每个单词,其他字母小写#title以首字母大写的方式显示每个单词

upper()  把每个字符都改成大写

lower()  把每个字符都改成小写

name='zhoU yinG'
'''
name.title()  #name不会被改变
print(name)  #只有保存到变量中才会保存改变
name=name.title()  
'''
print(name.title())#title以首字母大写的方式显示每个单词,其他字母小写#title以首字母大写的方式显示每个单词
print(name.upper())#upper把每个字都改成大写
print(name.lower())#lower把每个字都改成小写
print(name)

4.删除空白

删除空白的三种方法,注意也是非永久性的改变

rstrip()   删除字符串末尾的空白,有几个空白就会删几个的

lstrip()   删除字符串开头的空白,有几个空白就会删几个

strip()    删除字符串两端的空白,不会删除中间的

language='  pyt hon  '
print(language.rstrip()) #删除字符串末尾的空白
print(language.lstrip()) #删除字符串开头的空白
print(language.strip())  #删除字符串两端的空白
print(language)

可以注意到结果第二行的光标位置,可以看出字符串末尾的空白是未删除的。

5.字符串的索引和切片

s='abcde'
#索引 0 1 2 3 4
#和列表类似 有负数索引 -5 -4 -3 -2 -1
print(s[0])

#切片 和列表的规则是一样的
#不包含终点值,前面的数字要比后面的小
print(s[0:3])
print(s[-4:-1])

>>>a
abc
bcd

6.字符串的遍历

s='abcde'
for c in s:   #遍历字符串s
	print(c)

>>>a
b
c
d
e

7.列表和字符串有什么区别

最大的区别在于字符串类型是不允许被修改的

s='abcde'
s[0]=x

>>>NameError: name 'x' is not defined

8.字符串的快速逆置

s='abcde'
print(s[::-1]) #输出完整的逆置字符串,从后向前,按步长为1进行取值
print(s[::-2]) #从最后一个,按步长为2进行取值
#省略了起点和终点索引,也可以自己进行设置
print(s[4:0:-1])  #因为是逆置,所以切片也需要反过来,前面数字大,后面数字小
#最后一个值的绝对值是步长: 负数 从后向前;正数,从前向后
print(s[::2])

>>>edcba
eca
edcb
ace

9.字符串格式化:对字符串进行美化

    占位符%s既可以表示字符串str,还可以表示整数int,浮点数float;

    占位符%d既可以表示整数int,还可以表示浮点数float(去除整数部分)

    占位符%f既可以表示浮点数float,还可以表示整数int(默认保留6位小数) 

三种格式化的方法:

name='小红'
age=9
print('大家好,我是'+name+',今年'+str(age)+'岁')
# %
print('大家好,我是%s,今年%d岁'% (name,age))
#format()
print('大家好,我是{},今年{}岁'.format(name,age))
#f-strings
print(f'大家好,我是{name},今年{age}岁')

format()和f-strings的模板字符串占位符中可以通过引导符号“:”进行丰富的格式控制 

print('{:=^21}'.format('abc'))
'''
其中:
“21”用于设置格式化后的宽度
“^”用于设置对齐方式
【"<"、"^"、">"分别表示左对齐、居中对齐和右对齐】
“=”用于设置填充字符。
'''


>>>=========abc=========

 语句 print('{1}{0}{1}'.format('a', 'b')) 的执行结果为

print('{1}{0}{1}'.format('a', 'b'))
#参数a、b的索引分别是0和1,因此占位符内的索引101对应bab

>>>bab

10.常用字符串的处理方法

除了执行字符串格式化的format()方法之外,Python语言还提供了一系列处理字符串的方法,比如:

#将旧字符串aa替换成ff
s='aabbccddee'
s=s.replace('aa','ff')
print(s)

>>>ffbbccddee
#判断字符串是否以ee开头,ee结尾
s='aabbccddee'
print(s.startswith('ee'))
print(s.endswith('ee'))

>>>False
True
#统计字符串a和aa出现的次数
s='aabbccddee'
print(s.count('a'))
print(s.count('aa'))

>>>2
1
#删除指定字符
s='aabbccddee'
print(s.strip('a'))
print(s.strip('ab'))

>>>bbccddee
ccddee
发布了57 篇原创文章 · 获赞 19 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/IGGIRing/article/details/105140751