python字符串常见基本操作(转义符、占位符)、字符串格式化(3种)、字符串常用方法(9种)

声明:本文纯属分享学习笔记与心得,交流讨论学习,不做商业及其他用途

目录

字符串基本操作

1、转义字符

2、占位符

字符串格式化

1、使用%符号格式化

2、使用f-string格式化

3、使用format格式化

字符串常用方法


字符串基本操作

1、转义字符

符号 说明
\n   (常用) 换行,一般用于末尾,strip对其也是有效的
\t    (常用) 横向制表符(可认为是一个间隔符)
\r    (常用) 回车
\v 纵向制表符(会有一个男性的符号)
\a 响铃
\b 退格符,将光标前移,覆盖(删除前一个)
\f 翻页(几乎用不到,会出现一个女性符号)
\' 转义字符中的单引号
\" 转义字符中的双引号
\\ 转义斜杆

2、占位符

%s   (常用) 字符串(采用str()的显示)
%d   (常用) 十进制整数
%f    (常用) 浮点数
%F 浮点数,与 %f 相同
%c 单个字符
%b 二进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数,基底为e
%E 指数,基底为E
%r 字符串(采用repr()的显示)
%g 指数(e)或浮点数(根据显示长度)
%G 指数(E)或浮点数(根据显示长度)
%% 字符“%”,显示百分号%

字符串格式化

1、使用%符号格式化

运用占位符对输出的字符串进行格式化,这里例举最常用的三种用法(%s,%d,%f)

print('他叫%s,今年%d岁了,这次考试考了%f分'%('小明',18,95.5))
#他叫小明,今年18岁了,这次考试考了95.500000分

我们发现,打印出来的分数数值到了小数点后6位,如果只想取到前两位小数,对输出的格式(宽度或者小数位)有进一步要求,则只需将%f 改变成:%.2f   ;相关格式说明举例如下:

语法:   %宽度.小数位

%5f-----5个字符宽度的浮点数

%5.2f-----5个字符宽度并且带2个小数位的浮点数

%.2-----2个小数位的浮点数

%10s-----使用10个字符的宽度显示,如果不足在左边补齐空格(右对齐)

%-10s-----使用10个字符的宽度显示,如果不足在右边补齐空格(左对齐)

print('他叫%s,今年%d岁了,这次考试考了%.2f分'%('小明',18,95.5))
#他叫小明,今年18岁了,这次考试考了95.50分

2、使用f-string格式化

python3.6以上开发出来的新功能,在format格式化基础上优化,更简单易懂,运行起来的速度也更快

单行:      语法:语句前加f,需要填充的部分用大括号{}括起来,大括号里填写需要填充的变量或者数值等

name='小明'
age=18
print(f'他叫{name},今年{age}岁了')
#他叫小明,今年18岁了

多行:每行前面必须加f,否则就会出现下面第二个例子的情况

name='小明'
age=18
print(
         f'他叫{name}'
         f'今年{age}岁了')
#他叫小明今年18岁了
name='小明'
age=18
print(
         f'他叫{name}'
         '今年{age}岁了')
#他叫小明今年{age}岁了

3、使用format格式化

相对比前面两个格式化,format显得比较繁琐,所以一般不推荐使用

语法:<模板字符串>.format(<逗号分隔的参数>)    需要填充的地方用大括号{}括起来,语句末尾用.format()格式

print('他叫{},今年{}岁了'.format('小明',18))
#他叫小明,今年18岁了

如果对输出格式有进一步的要求,参考:

{<参数序号>:<格式控制标记>}
格式控制标记如下:
{:<填充><对齐><宽度><,><.精度><类型>}

a='python'
print("{0:30}".format(a) )#默认左对齐
#python                        
print("{0:>30}".format(a)) #右对齐
#                        python
print("{0:*^30}".format(a))#居中且使用*填充
#************python************
print("{0:-^30}".format(a)) #居中且使用-填充
#------------python------------

字符串常用方法

方法 作用
find() 在某段字符串中,查找某个需要的字符串
join() 只用于字符串连接,注意不能连接其他数值
lower() 大写转小写
upper() 小写转大写
swapcase() 大小写互反转
replace() 替换字符串
split() 通过指定分割符对字符串进行切片
strip() 去除首尾空格或一些首尾字符
translate() 对字符进行交换或过滤

find()   查找方法(区分大小写)

语法:find('查找的字符串',起始位,结束位)

s='Welcome to China'
print(s.find('to'))#可以查找某个单词,返回单词起始处的索引
#8
print(s.find('o'))#也可以查找某个字母,找到第一个出现的字母的索引
#4
print(s.find('a',0,8))#在索引0到8之间查找字母a,如果没有找到,返回-1
#-1

join()   字符串连接

语法:'分隔符'.join(需要拼接的元素序列、字符串、元组、字典)

s=['a','b','c','d']
print('+'.join(s))#通过+号连接字符串
#a+b+c+d
print(''.join(s))#无符号连接字符串
#abcd

lower()  大写转小写

语法:str.lower()

s='Welcome to China'
print(s.lower())#将大写全部转为小写
#welcome to china

upper()  小写转大写

语法:str.upper()

s='Welcome to China'
print(s.upper())#将小写全部转为大写
#WELCOME TO CHINA

swapcase()  大小写互反转

语法:str.swapcase()

s='Welcome to China'
print(s.swapcase())#将大小写互反转
#wELCOME TO cHINA

replace()   替换字符串

语法:str.replace('原值','替换的值',替换次数)

s='Welcome to China'
print(s.replace('o','W'))#将所有字母o替换成字母W
#WelcWme tW China
print(s.replace('o','W',1))#将字母o替换成字母W,替换一个
#WelcWme to China

split()   通过指定分割符进行切片

语法:str.split(‘分隔符’,次数)

s='Welcome to China'
print(s.split())#通过空格分割
#['Welcome', 'to', 'China']
print(s.split('o'))#通过字母o分割
#['Welc', 'me t', ' China']

strip()   去除首尾空格或首尾字符

语法:str.strip('需要去除的字符')

s='------abcd------'
print(s.strip('-'))#去除首尾-符号
#abcd
a='aabbccddccbbaa'
print(a.strip('a'))#去除首尾的a字母
#bbccddccbb

translate()  对字符进行交换或过滤

语法:str.translate(映射表)

可用于加密,但是安全性不太高,所以不建议使用translate()进行加密

intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab)#创建映射表
 
s = "my name is XIAOMING"
print (s.translate(trantab))
#my n1m2 3s XIAOMING

猜你喜欢

转载自blog.csdn.net/weixin_57501965/article/details/126111948