f-string 句法可用于格式化字符串文字,由 CPython 3.6 引入。
f-string 采用 f 或 F 作前缀,与 + % 操作符及 format() 方法的性能比较如下:
from datetime import datetime start = datetime.now() count = 2000000 while count: count -= 1 a = "str" + "ing" b = a + " test" print(datetime.now() - start) start = datetime.now() count = 2000000 while count: count -= 1 a = "%sing" % ("str") b = "%s test" % (a) print(datetime.now() - start) start = datetime.now() count = 2000000 while count: count -= 1 a = "{}ing".format("str") b = "{} test".format(a) print(datetime.now() - start) start = datetime.now() count = 2000000 while count: count -= 1 string = "str" a = f"{string}ing" b = f"{a} test" print(datetime.now() - start)
by Digital IDE 运行调试, 获取以下结果。
0:00:01.061802 0:00:02.395206 0:00:02.948405 0:00:01.809603
其中 + 内置操作符用时最少,但必须是 str 对象类型;f-string 句法次之,format() 方法最慢。
f-string 在语法上不支持直接嵌套,如下所示:
>>> a = "string" >>> f"{{a}}" '{a}' >>>
可改成以下形式:
>>> a = "string" >>> f"{chr(123)}{a}{chr(125)}" '{string}' >>>
See also:
Copyright Notice: This article is exclusive original manuscripts, copyrighted by Happy Digits Software , shall not be reproduced without permission.