使用未初始化的全局变量抛出 NameError
using an uninitialized global variable throws NameError
此代码抛出 NameError: name 'x' is not defined"
:
def function():
global x
print(x)
function()
print(x)
但是,此代码有效并打印了两次“2”:
def function():
global x
x = 2
print(x)
function()
print(x)
我的问题是,当 x 被声明为全局时实际发生了什么?
您没有定义x
,导致错误。尝试使函数具有 x
.
的参数
def function(x):
print(x)
另外,当你全局化一个变量时,它的作用域不只是在函数内,而是在每个 function/class.
- 卡登
此代码抛出 NameError: name 'x' is not defined"
:
def function():
global x
print(x)
function()
print(x)
但是,此代码有效并打印了两次“2”:
def function():
global x
x = 2
print(x)
function()
print(x)
我的问题是,当 x 被声明为全局时实际发生了什么?
您没有定义x
,导致错误。尝试使函数具有 x
.
def function(x):
print(x)
另外,当你全局化一个变量时,它的作用域不只是在函数内,而是在每个 function/class.
- 卡登