2019-01-04格式化输出
2019-01-04 本文已影响0人
时光偷走了青春
一、简单介绍
字符串的格式化输出目前有两种方式
1,% 方式(陈旧)
2,str.format() 方式(新式,官方推荐)
3,f-string 方式 (Python3.6 及以上推荐使用)
二、%方式
![](https://img.haomeiwen.com/i15571992/9c0e2bd64021174f.png)
str.format()方式
![](https://img.haomeiwen.com/i15571992/89b38e914b21c31d.png)
![](https://img.haomeiwen.com/i15571992/25c73b03decb1f70.png)
三、模板字符串(标准库)
这是Python中字符串格式化的另一个工具:模板字符串。它是一种更简单,功能更少的机制,但在某些情况下,这可能正是您所需要的。
![](https://img.haomeiwen.com/i15571992/9b656fbfcd42324d.png)
那么什么时候应该在Python程序中使用模板字符串?在我看来,使用模板字符串的最佳时间是在处理程序用户生成的格式化字符串时。由于复杂性降低,模板字符串是更安全的选择。
四、f-string方式
1简单的语法
语法类似于您使用 str.format() 的语法,但是你发现 str.formate() 方式有时候不是那么简洁。比如在一个有够多的变量需要替换时,就显得非常的臃长且不易读。
看看 f-string 有多么的简洁
![](https://img.haomeiwen.com/i15571992/fc0ce7e86424d713.png)
![](https://img.haomeiwen.com/i15571992/70acc2d4900917e0.png)
结果:
![](https://img.haomeiwen.com/i15571992/a80adfe72631664d.png)
2,任意表达
因为f-strings是在运行时计算的,所以可以在其中放置任何和所有有效的Python表达式。这可以让你做一些漂亮的事情。
![](https://img.haomeiwen.com/i15571992/0959c7ff6c8e2bc2.png)
![](https://img.haomeiwen.com/i15571992/ebccc5c781390cf1.png)
也可以调用函数。这是一个列子
![](https://img.haomeiwen.com/i15571992/7b0808b6db50917d.png)
多行f字符串
![](https://img.haomeiwen.com/i15571992/62fa7c6a7cea7494.png)
但请记住,您需要f在多行字符串的每一行前面放置一个。以下代码不起作用
速度
在运行时,花括号内的表达式在其自己的作用域中计算,然后与 f-string 的字符串文字部分放在一起。然后返回结果字符串。
这是一个速度比较:
![](https://img.haomeiwen.com/i15571992/c1cab5b7f9247ef9.png)