小说python3的f_strings格式化字符串

python3.6开始,字符串格式化引入了f_strings这种新语法,它相比以前的方法更容易阅读、更简洁、更不容易出错,而且还更快

接下来,就开始小说一把f_strings,见识下它的魔力。

简而美

字符串前加上f或F就ok了

name = 'chafezhou'
gender = 'male'
age = 18
profession = 'programmer'
company = 'iRain'

f_strings_mode = f"My name is {name}, gender:{gender}. I'm {age} years old," \
                       f" working at {company} as a {profession}"

没对比就没有伤害

看看%方式

percent_mode = "My name is %s, gender:%s. I'm %d years old, working at %s as a %s"\
               % (name, gender, age, company, profession)

这么冗长的代码行,还有5个参数,要保证参数的index正确,真是难为人,步步惊心

再来看看format方式

format_mode_1 = "My name is {name}, gender:{gender}. I'm {age} years old," \
                " working at {company} as a {profession}".format(
    name=name, gender=gender, age=age, profession=profession, company=company)

这么一比较,f_strings显得更简洁,更易阅读,所见即所得,对于多个参数的更是无需关心index,从而减少错误。

如果用IDE,更能体会其优势,自动补全,更高效,其他方式没办法提示补全。

更高效

通过一个简单的测试代码对比下f_strings,format和%三种方式的效率

f_strings还是更高效一些

更多特性

表达式可以有

函数也可以有

对象还是可以有

我是已经被f_strings给征服了,小伙伴们赶紧用起来吧。

原文发布于微信公众号 - chafezhou(gh_5b8f0c59b682)

原文发表时间:2018-06-11

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏狮乐园

简单探索 js 中 something >> 0 的原理

关于这个问题是今天改公司项目小程序的一个bug时看到的,修复这个bug的解决方法是需要引入 String.prototype.padStart 的 polyfi...

733
来自专栏黑泽君的专栏

面向对象思想的设计原则概述

在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象思想的设计原则。

901
来自专栏Python入门

你还在为Python中文乱码而感到烦恼?今天老司机给你讲讲!

有没有遇到过这样的问题,读取文件被提示“UnicodeDecodeError”、爬取网页得到一堆乱码,其实这些都是编码惹的祸,如果不能真正理解编码的问题所在,就...

1213
来自专栏禁心尽力

多线程之策略模式

今天给各位分享一种Java23种设计模式中最常见的设计模式--策略模式。为什么将策略模式和多线程绑在一起呢,不知道各位有没有注意过我们在进行多线程编程的时候,创...

1967
来自专栏大史住在大前端

javascript基础修炼(7)——Promise,异步,可靠性

Promise技术是【javascript异步编程】这个话题中非常重要的,它一度让我感到熟悉又陌生,我熟悉其所有的API并能够在编程中相对熟练地运用,却对其中原...

1035
来自专栏python学习路

一、代码风格 1、假定你的代码需要维护2、保持一致性3、考虑对象在程序中存在的方式,尤其是那些带有数据的对象4、不要做重复工作5、让注释讲故事6、奥卡姆剃刀原则1、简洁的规则2、文档字符串3、空行4、

刚开始学的时候就要注意编码规范了,所以整理了一下,以便养成一个编码好习惯。不然以后真的不好改。 代码被读的次数远大于被写的次数。 作为一名程序员(使用任何语言)...

2335
来自专栏C/C++基础

C++异常处理的开销

C++异常是C++有别于C的一大特性 ,异常处理机制给开发人员处理程序中可能出现的意外错误带来了极大的方便,但为了实现异常,编译器会引入额外的数据结构与处理机制...

742
来自专栏葡萄城控件技术团队

C# 8.0的三个值得关注的新特性

1163
来自专栏葡萄城控件技术团队

C# 8.0的三个值得关注的新特性

image.png C# 语言是在2000发布的,至今已正式发布了7个版本,每个版本都包含了许多令人兴奋的新特性和功能更新。同时,C# 每个版本的发布都与同...

2458
来自专栏西二旗一哥

Python - 编码问题

824

扫码关注云+社区