Python 字符串格式化详解

格式化输出,主要有三种方式

  1. 使用 % 进行格式化
  2. 使用 format 函数进行格式化
  3. 使用 f-string 进行格式化

由于这三种格式化的内容都非常的多,这里仅为了你看本教程后面的内容,我只介绍最常用的几种

第一种方法:使用 %

%s 表示这个位置接的是一个字符串变量

%d 表示这个位置接的是一个整型变量

前面有多少个 %,后面就要有多少个变量,一一对应,多个变量要括号括起来

>>> name = "Jack"
>>> age = 18
>>> print("我的名字是: %s,今年 %d 岁" %(name, age))
我的名字是: Jack,今年 18 岁

更多的格式化式符号,可以参考这张表

第二种方法:使用 format

在字符串中,使用 {} 进行占位,然后在字符串后跟上 .format() 函数,这个函数的参数就是我们要往字符串中填充的变量。

format 函数会依次填充,比如第一个 {} 会取到第一个参数 name,第二个 {} 会取到第二个参数 age

>>> name = "Jack"
>>> age = 18
>>> print("我的名字是:{}, 今年 {} 岁".format(name, age))
我的名字是:Jack, 今年 18 岁

然后如果变量值比较多的话,这样往往会看错乱掉。你可以改成使用索引

>>> print("我的名字是:{0}, 今年 {1} 岁".format(name, age))
我的名字是:Jack, 今年 18 岁

甚至还可以直接用变量名进行替代

>>> name = "Jack"
>>> age = 18
>>> print("我的名字是:{name}, 今年 {age} 岁".format(name=name, age=age))
我的名字是:Jack, 今年 18 岁

更多 format 函数的用法,可详读我另一篇文章:Python强大的格式化format

第三种方法:使用 f-string

这种方法是 Python 3.6 才支持的写法,只要你在字符串前面加一个 f,开启 f-string ,就可以在字符中写入变量。

直接看案例了

>>> name = "Jack"
>>> age = 18
>>> print(f"我的名字是:{name}, 今年 {age} 岁")
我的名字是:Jack, 今年 18 岁

教程来源于Github,感谢iswbm大佬的无私奉献,致敬!

技术教程推荐

深入剖析Kubernetes -〔张磊〕

Elasticsearch核心技术与实战 -〔阮一鸣〕

说透中台 -〔王健〕

分布式协议与算法实战 -〔韩健〕

说透数字化转型 -〔付晓岩〕

Go 语言项目开发实战 -〔孔令飞〕

中间件核心技术与实战 -〔丁威〕

云计算的必修小课 -〔吕蕴偲〕

手把手带你写一个MiniSpring -〔郭屹〕