分享

Python 格式化字符串,这个方法真的即丝滑又舒服!

 bdpqlxz 2020-05-26

大家好,我是 Rocky0429,一个在划水界鼎鼎有名的蒟蒻...

一堆堆的烂数据里面有很多的字符串,所以最近老用到格式化字符串...

按理说我应该对这种重复性的动作很烦,起初确实是这样,但是现在我乐在其中,为什么呢?肯定不是脑子坏了,因为我最近学会了一个超好用的格式化字符串的方法,那是相当的丝滑,所以我又迫不及待的来分享啦!

当然在进入正题之前,还是应该来回顾一下之前我们是怎么格式化字符串的,毕竟我不是一个有了新欢就忘了旧爱的...渣男。



第一种就是上古时代的方法,Python2.6 以前的独霸天下的 '%'操作符:

在我当初刚学 Python 的时候,我用了一次就放弃了,因为我想,如果像下面这样:


如果经常出现上面这样的情况(实际上真的有可能),我选择狗带...我的忍耐限度最多两个,超过两个我的躁郁症可能会被引出来...

在写上面这个例子的时候,我恶狠狠的咬碎了我的棒棒糖,才抑制住了砸电脑的冲动,我需要被赞美

第二种就是我常用的 'format'。Python2.6 引入,性能比 % 更强大。大概有三种写法:

a) 替换字段直接用大括号

b) 通过大括号 + 索引引用变量

c) 使用键值对的方式

但是我依然有点受不了,format 的大括号和变量名分开,当变量多的时候也是会容易把我搞晕,即使是使用键值对的方式,也是一样的...

可能我小脑有问题,总是容易晕...每天就在一种醉酒的状态下活着,直到我找到了它 

formatted string literals

它是在 Python3.6 新加的字符串格式化方法,这种方法是在字符串前面加上 'f',大括号直接使用变量,所以又叫 'f-strings'

这只是最简单的用法...

它还可以进行内联运算,也就是大括号里面还可以写算术表达式:

它还可以直接调用函数

当然内置函数也是可以直接调用的:


总而言之就是:



而且,相比于 '%' 和 'format',f-string 的性能更好,运行速度更快,如果你的 Python 是 3.6 及以上的,非常建议你用 f-string!


当然功能不止于此,我就不一一演示了...
更多的使用欢迎去看官方文档,学起来更贴心:

https://docs./3/reference/lexical_analysis.html#f-strings

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多