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

数据森麟

共 1310字,需浏览 3分钟

 · 2020-02-16

5617a1d259bac44d7fc6bb7741f1dfc2.webp


     作者:Rocky0429


     来源:Python空间



0ffa9315c37dfaa86c7102c81473c7f9.webp


大家好,我是 Rocky0429,一个最近老在处理数据的蒟蒻...



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



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



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


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

911e8118a5891ff9cc452bd0b1be41f0.webp


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

27fed892e2bae8531154a22d8c2f249d.webp


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


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


a15e0851ea0ed40921bb708fa0548330.webp


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


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


9d582583b967a525ccaf301263277f2b.webp


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


81c70f031e64668e9fb59ce575287003.webp


c) 使用键值对的方式


a1069abd68f78e5ea04916d65575b8ee.webp


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


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


formatted string literals


cc7b45c06757ee8df70cb1c3854a69e9.webp


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


f42d9d3508b49ff0557382cf6caefee7.webp


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


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


2a8b9b6aa060bd5bd8131b12256b3901.webp


它还可以直接调用函数


cc51bcc8f652572aa62b88305c6d3754.webp


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

5b0f9e32ab8f17026c8cdb7099888bd6.webp


总而言之就是:
954a7f82e5e607360965c235b16810cb.webp

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


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


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




看完有所收获?点个在看,让更多人可以看到~谢谢啦


今天的分享就到这,拜里个拜~


◆ ◆ ◆  ◆ 



长按二维码关注我们



数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。


管理员二维码:


猜你喜欢

 笑死人不偿命的知乎沙雕问题排行榜

 用Python扒出B站那些“惊为天人”的阿婆主!

 互联网大佬学历&背景大揭秘,看看是你的老乡还是校友

 上万条数据撕开微博热搜的真相!

 你相信逛B站也能学编程吗? 

浏览 34
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报