代码中的问题:为什么python F字符串插值的用法用引号包装?
a = 'test'
# 1)
print(f'{a}') # test
# 2)
print(f'{ {a} }') # {'test'}
# 3)
print(f'{{ {a} }}') # {test}
我的问题是,为什么情况下,两个打印的报价?
我在documentation中没有找到任何明确的内容。我发现详述最接近这是在PEP此功能:
(语法为F-字符串)
f ' <text> { <expression> <optional !s, !r, or !a> <optional : format specifier> } <text> ... '
表达然后使用格式协议格式化,使用 格式说明符作为参数。当生成f字符串的值时,使用结果值 。
我假定的a
值被格式化一些格式化器,其中,由于数据类型是串,用引号包裹它。这个结果然后返回到周围的F字符串格式化实例。
这个假设是否正确?有没有其他地方可以更清楚地记录这一点?
您的2.7文档链接将不会有关于3.6功能的任何内容。相反,https://docs.python.org/3.6/reference/lexical_analysis.html#f-strings –