阅读本文大概需要3分钟
Python3.6 不知道有多少同学用了,里面推出了很多新的特性,有关于语法的,有标准库的,有关于安全的!其中有一条是关于字符串的格式化处理。这新的招用法非常简洁,优雅,我们一起来看一下Pythonic的!
1.传统玩法
Python里面的字符串用法相信很多同学都知道,我们简单回顾一下:
1).用%来格式化
))
如果要格式化多的话,需要多敲几个%s
))
但是%非常麻烦,而且不够灵活!于是Python里面推荐用下面的format方法
2).format来格式化
))
可以看的出format非常灵活,功能甩%好几条街,前面的Python入门基础文章我有详细介绍(【秘籍总结】玩转Python里的字符串|上篇).
下面我们重点看看新特性!
但是功力虽强,也有烦恼!比如下面的程序:
当然你可以放在一个字典里面:
.format(**person))
但是当你有一堆的数据要格式化,这样输入非常麻烦,而且费事!有没有好的办法呢!我们来看新玩法!
2.Python3里的新玩法
1).Py3.6里面增加了一种超级简单的玩法
简单到什么程度呢,即在普通字符串前添加 f 或 F 前缀,其效果类似于str.format()。比如
>>Hello Leo
当然写的大写的F也可以!是不是眼前一亮,哇这样简单!不仅如此,还有更好玩的!
2).函数里的玩法
函数返回的内容也可以格式化
3).类里的玩法
__str__和__repr__两个都是魔法函数,这个我前面讲过的!一个是print的时候输出,一个是在解释器上输出!
4).多行的f-string
如果对于多行的字符串的格式化,一样非常简单!
当然稍微麻烦一点就是需要再每一行前面加一个f。如果只加一个f会报错!
3.为啥要引入f呢
看完上面的内容,是不是觉得不就是少敲几个字符吗!Py3.6用的着专门引用这个特性吗?Too youny,too simple !当然不是,f的特性除了简洁,漂亮之外!还有一个重要的原因,速度快!
f-string要比%和str.fomat()快很多,不信我用timeit计算一下:
1).看一下普通的%运行的时间:
))
>>
0.00024311599918291904
2).看一下format运行的时间
))
>>
0.006145652001578128
format运行的时间,要比%s多近25倍的时间!真够慢的!
3).看一下f-string的运行时间
))
>>
0.004178790000878507
f-string比format节省了近33%的时间,而简洁和优雅要甩format好几条街。
发现Python真的是懒人专用的语言,能简洁的地方尽量简洁。让我又想起来Python的经典语录,不信你输入import this ,看看Python的九阴真经:
从现在开始,拥抱f-string吧!
近期热门:
菜鸟学Python,上半年文章大汇总
程序员如何用Python科学炒股
周末也要编程,3道Python题,9种解法,你能想出几种
我想带你去旅行,我用Python提前做了一份端午旅游攻略
超酷,用Python还能写超级玛丽游戏
30岁后还能不能学Python,这里有一碗鸡汤
零基础学了8个月的Python,到底有啥感悟
本篇文章来源于: 菜鸟学Python
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中读取xlsx文件11/21
- ♥ 如何在python中获得2位小数09/12
- ♥ 震惊!针对Python开发者华为又出新动作!06/04
- ♥ python元类冲突10/04
- ♥ python 3.3使用print输出语法错误是什么原因?12/13
- ♥ 在python中转换两种数据类型09/28
内容反馈