本文转载自微信公众号「Piper蛋窝」,格式作者Piper蛋。化字转载本文请联系Piper蛋窝公众号。符串 本文参考输入输出 — Python 3.7.10 文档[1]。字面值首先声明咱的格式实验环境。 我们要在控制台上给用户反馈计算结果(比如AOE值为 0.82),于是符串就要写 print 逻辑。描述计算结果的字面值语句是死的(AOE值为),但数字是格式活的(0.82)。我们希望把计算结果拼接到描述结构的化字语句上。新手可能会用字符串的符串拼接(字符串的「加法运算」+)。 输出: 我们将介绍一种格式化方法,化字无论是符串书写还是易读,都比上述方法要优雅。 并且,我们将解决字符串拼接不能自动解决的小数位、科学计数法等问题。 官方文档:要使用格式化字符串字面值,高防服务器请在字符串的开始引号或三引号之前加上一个 f 或 F 。在此字符串中,你可以在 { 和 } 字符之间写可以引用的变量或字面值的 Python 表达式。 有点费解,还是看实例最清晰。 咱们把上面的代码改一下。 输出: 没毛病,和之前的写法效果一模一样。但是咱们这回直接把「活的」变量『嵌入』到「死的」句子里面去了。 而且咱还把逻辑写进了字符串,说明在 f"{ }" 的 { } 大括号里面,放变量和表达式都行。 再把上面的例子变个形,来看看更多用法:比如在 { } 大括号里做简单的运算,或者使用一些特殊格式化语法保留小数、转化为科学计数法。 输出: 注意到上面我们用了 { val_dict[wcb] :E} 这样的云服务器提供商特殊语法,:E 表示把数字 val_dict[wcb] 转换为科学计数法。 类似:E,我们还有更多用法。在 Python 中,其名称为格式规格迷你语言(format specification mini language)[2]。 我们可以直接应用 :.2% 来表示「让数字变成百分数%,并且保留两位小数(.2)」。 输出: 岂不是要比 { val_dict[AOE] * 100}% 的写法优雅很多。 其他用法可以参考Python 的字符串格式示例(format examples)[3]。咱们这里自己造个场景:打印表格。 输出: 如上: 更多的内容除了参考官方文档,菜鸟教程的 Python 格式化函数[4]也是不错的中文资料。 以后随用随查,在搜索引擎中输入关键字python + 格式化输出即可。 参考资料 [1]输入输出 — Python 3.7.10 文档: https://docs.python.org/zh-cn/3.7/tutorial/inputoutput.html [2]格式规格迷你语言(format specification mini language): https://docs.python.org/zh-cn/3.7/library/string.html#format-specification-mini-language [3]Python 的香港云服务器字符串格式示例(format examples): https://docs.python.org/zh-cn/3.7/library/string.html#formatexamples [4]菜鸟教程的 Python 格式化函数: https://www.runoob.com/python/att-string-format.html引例:场景带来的化字需求
格式化字符串字面值
更多示例