专栏首页Python空间Python 格式化字符串,这个方法真的即丝滑又舒服!

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

大家好,我是 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.python.org/3/reference/lexical_analysis.html#f-strings

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

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

本文分享自微信公众号 - Python空间(Devtogether),作者:Rocky0429

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 你离搞懂递归等概念只差这 10 张动图的距离

    今天为大家整理了十张动图GIFS,有助于认识循环、递归、二分检索等概念的具体运行情况。

    Rocky0429
  • 你写的 Python 代码也需要减肥!

    在执行程序时,如果内存中有大量活动的对象,就可能出现内存问题,尤其是在可用内存总量有限的情况下。在本文中,我们将讨论缩小对象的方法,大幅减少 Python 所需...

    Rocky0429
  • 腾讯面试题:有了二叉查找树、平衡树为啥还需要红黑树?

    红黑树算是很难的一种数据结构吧,一般很少考察插入、删除等具体操作步骤,如果遇到要你手写红黑树的面试官,就直接告辞吧。所以,更多是会考察你对红黑树的理解程度,考察...

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

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

    AI算法与图像处理
  • 【备忘录】c++ 整形浮点字符串 类型转换

    一、C风格字符串 1.<stdlib.h>中的转换函数  atoi atol atoll itoa ltoa ultoa lltoa atof e...

    ApacheCN_飞龙
  • 你熟悉的Android Root 方式有哪些?|附演示视频

    腾讯云安全
  • C语言函数小集合

    一、字符操作 函数名: fputc 功 能: 送一个字符到一个流中 用 法: int fputc(int ch, FILE *stream); 函数名: ...

    阳光岛主
  • 1099 字串变换 2002年NOIP全国联赛提高组

    1099 字串变换 2002年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解 题目描述 D...

    attack
  • leetcode-242-Valid Anagram

    Given two strings s and t , write a function to determine if t is an anagram of ...

    chenjx85
  • 面试官,Java8 JVM内存结构变了,永久代到元空间

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    用户1161110

扫码关注云+社区

领取腾讯云代金券