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

相关内容可自行参考官方文档

经验分享 程序员 微信小程序 职场和发展