我定义了一个函数,在调用时将一个值赋给变量。我想做的是有一个检查某些条件并根据条件成立的值的功能。但是,当我打印该变量时,它表示未定义。
简化问题:
def func():
z=4
func()
print(z)
在运行时,它表示未定义z。
实际目标(已经定义了x,y和o。):
def calc():
if o==1:
z=x+y
elif o==2:
z=x-y
calc()
print(z)
但是它给出了此错误:NameError:名称'z'未定义
在计算机科学世界中被称为scope
,而您的分配超出了主程序空间的scope
相反,您应该只返回值
def calc():
if o==1:
z=x+y
elif o==2:
z=x-y
return z
y = calc()
print(y)