对于用 Python 处理数据和文本的同学一定经常要和字符串格式化打交道,少不了要打一堆 %。
这种重复性的动作常常令人厌烦。起初我也是这样觉得,但现在不了。这当然不是因为被虐习惯了,而是我发现相比用 % 进行字符串格式化,有更好用的方法,今天就给大家分享一下。
在进入正题之前,还是应该来回顾一下之前我们是怎么格式化字符串的。
% 格式化 第一种就是上古时代的方法,Python2.6 以前的独霸天下的 "%" 操作符 : 在我当初刚学 Python 的时候,我用了一次就放弃了,因为我想,如果像下面这样:如果经常出现上面这样的情况(实际上真的有可能),我选择狗带...我的忍耐限度最多两个,超过两个我就要抓狂了
format 格式化
第二种就是我常用的 'format'。Python2.6 引入,性能比 % 更强大。大概有三种写法:
a) 替换字段直接用大括号
b) 通过大括号 + 索引引用变量
c) 使用键值对的方式
但是我依然有点受不了,format 的大括号和变量名分开,当变量多的时候也是会容易把我搞晕,即使是使用键值对的方式,也是一样的……
因此每当我对字符串进行格式化,就感觉在一种醉酒的状态下……直到我找到了它 :
formatted string literals
它是在 Python3.6 新加的字符串格式化方法,这种方法是在字符串前面加上 "f",大括号直接使用变量,所以又叫 'f-strings'。
前面加了 f 的字符串,可以直接在其中通过大括号插入各种变量。而这还只是最简单的用法。
它还可以进行内联运算,也就是大括号里面还可以写算术表达式:
它还可以直接调用函数:
当然 内置函数也是可以直接调用 的: 总而言之就是:而且,相比于 '%' 和 'format',f-string 的性能更好,运行速度更快,如果你的 Python 是 3.6 及以上的,非常建议你用 f-string!
当然功能不止于此,我就不一一演示了。 更多的使用欢迎去看官方文档,学起来更贴心:https://docs.python.org/3/reference/lexical_analysis.html#f-strings
今天的分享就到这里,欢迎大家留意讨论~
作者:Rocky0429
来源:Python空间