python字符串格式化的三种方式
python中对于字符串的格式化有三种方式,分别为使用%的方式, 使用fomat()格式换函数,还有在python3.6添加的f-string方式 下面是对于这三种方式的使用介绍
使用%格式化字符串
使用方法:
-
在%操作符的左侧为需要格式化的字符串,该字符串可以带有一个或多个嵌入的转换目标,每个都以%开头, 在%操作符的右侧为填充到字符串中的内容,其中传入多个时使用元组进行传入。
实例一:
>>> print(my name is %s, I am %d years old.% (Hajo, 22)) my name is Hajo, I am 22 years old.
常用的%格式化符号: 常用的操作符辅助符号 实例二:
print(今天,xx公司的股市开盘价为%.2f % 15.202302 ) # 保留两位小数 print(圆周率为%10.f % 3.1415926535) # 保留整数,同时定义宽度为10,故3的前面有9个空格
输入结果:
今天,xx公司的股市开盘价为15.20 圆周率为 3
使用format()格式化字符串
format格式化的一般格式: <带格式化{}字符串>.format(<逗号分隔的参数>) 其中,用{}在待格式化字符串中开辟一个位置,将format函数中的参数填充到其中。
实例一:
>>> print(my name is {}, I am {} years old.format(Hajo, 23))
my name is Hajo, I am 23 years old
format()参数传递方式:
-
位置传递 关键字传递 字典传递 列表下标传递
位置传递
-
不设置指定位置:
>>> "a {} b {} c {}".format(A, B, C)
a A b B c C
-
设置指定位置:
>>> "a {1} b {0} c {2}".format(A, B, C)
a B b A c C
-
多余参数不传递:
"a {} b {} c".format(A, B, C)
a A b B c
-
参数多次调用:
>>> "a {0} b {0} c {2}".format(A, B, C)
a A b A c C
关键字传递: 在{}中注明好关键字,利用key=value来实现赋值
>>> {name} is {age} years old.format(name=Mike, age=23)
Mike is 23 years old
字典传递:将参数放入字典中来传递参数
>>> person = {
name: Mike, age: 23}
>>> {name} is {age} years old.format(**person)
Mike is 23 years old
列表下标传递
>>> person2 = [Sham, 20]
>>> {0[0]} is {0[1]} years old.format(person2)
Sham is 20 years old
format格式化的格式限定符
使用格式限定符可实现{}内部的格式化配置(如对齐,保留小数等) 一般语法格式:{<参数位置序号>:<格式限定符/格式控制标记>}
1.填充,对齐,宽度一起使用 :号后引导填充符号(只能是一个字符, 不填默认为空格) 对齐格式 输出宽度
>>> {:>10}.format(MIKE)
MIKE
>>> {:*<15}.format(HAJO)
HAJO***********
>>> {:+^15}.format(Sham)
+++++Sham++++++
数据处理,可参照下图:
使用f-string格式化字符串
f-string 叫做 字面量格式化字符串 与format的用法很相似,只是f-string是直接在字符串中传入参数
实例
>>> name = Mike
>>> age = 23
>>> f{name} is {age} years old
Mike is 23 years old
对于填充和数据处理的可以参照format的格式,两者的格式是一样的 如:
>>> name = Mike
>>> age = 23
>>> f{name:*>10} is {age} years old
******Mike is 23 years old
相关内容可自行参考官方文档
