< p > 在
有人可以解释一下正在发生的事情吗?
print
和f-string中,变量的评估时间是否不同?< /p >
< p > 我以为两者的输出结果会相同。< /p >
def foo(x):
x.append([5])
return x
y, z = [1], [3]
print('y:', y, 'z:', z)
# y: [1] z: [3]
print('y:', y, 'str(y):', str(y), 'foo(y):', foo(y))
# y: [1, [5]] str(y): [1] foo(y): [1, [5]]
print(f'z: {z} foo(z): {foo(z)} z: {z}')
# z: [3] foo(z): [3, [5]] z: [3, [5]]
有人可以解释一下正在发生的事情吗?
print
相同的输出:print('y: {} str(y): {} foo(y): {}'.format(y, str(y), foo(y)))
- wjandrea