【发布时间】:2021-09-12 21:35:06
【问题描述】:
这里是初学者,下面的第一个代码没有给出任何错误并给出了预期的输出。但是在第二种情况下,我在函数的输入中使用 y 并在下面将其重新用作变量(这甚至是一个变量吗?)代替 var0。 这不应该给出语法错误吗?为什么会没事?
def x(y):
var0 = y + [2]
print(var0)
c = [1,2,3]
x(c)
def x(y):
y = y + [2]
print(y)
c = [1,2,3]
x(c)
【问题讨论】:
-
为什么不能原地更新变量,这对我来说似乎很正常。
-
这样使用
y会出现什么语法错误? -
大多数植根于imperative programming的语言都可以使用函数参数作为局部变量,其中包括Python。
-
术语 variable 意味着它的值可以改变 - 而 constant 则表示一个不变的值(Python 不会有常数)。你正在做的是改变
y的价值,这很好。 -
@Woodford 谢谢我把 y 当作一个不能被覆盖的常数,我现在明白了
标签: python python-3.x variables syntax