如何在函数中创建或使用全局变量?
如果我在一个函数中创建一个全局变量,我如何在另一个函数中使用该全局变量?我是否需要将全局变量存储在需要访问的函数的局部变量中?
我在这做错了什么?
counter = 0
def increment():
counter += 1
increment()
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出了一个UnboundLocalError.
有人可以用Python解释一下下面的结果吗?
当运行以下代码片段时,Python 会抛出错误,指出该变量x在赋值之前被引用:
x = 1
def increase_x():
x += 1
increase_x()
Run Code Online (Sandbox Code Playgroud)
当然,解决方案是global x在 的函数声明之后包含该行increase_x。
但是,当运行下一段代码时,没有错误,结果正如您所期望的:
x = [2, -1, 4]
def increase_x_elements():
for k in range(len(x)):
x[k] += 1
increase_x_elements()
Run Code Online (Sandbox Code Playgroud)
这是因为整数在Python中是基元(而不是对象),所以x在第一个片段中是存储在内存中的基元,而x在第二个片段中引用了指向列表对象的指针?