前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 格式化字符串的最佳姿势

Python 格式化字符串的最佳姿势

作者头像
Crossin先生
发布2020-02-24 16:37:32
9990
发布2020-02-24 16:37:32
举报

以下文章来源于Python空间 ,作者Rocky0429

对于用 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空间


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档