在最近的 Python 3.6 版本中使用新的 f 字符串时,我注意到以下几点:
我们创建一个
foo
带有 value 的变量bar
:>>> foo = 'bar'
然后,我们声明一个新变量,也就是我们的 f-string,它应该
foo
被格式化:>>> baz = f'Hanging on in {foo}'
好的,一切正常,然后我们调用
baz
来检查它的值:>>> baz 'Hanging on in bar'
让我们尝试更改 的值
foo
并再次调用baz
:>>> foo = 'spam' >>> baz 'Hanging on in bar'
不应该是动态的吗?为什么会这样?我认为如果值发生foo
变化,f-string 会更新,但这并没有发生。我不明白这是如何工作的。