0
stored=0
def store(arg):
stored=arg
return stored
y=store(22)
print(y)
print(stored)
22
0
我真的想了解,为什么print(stored)
不等于22.Thank你这么多。
stored=0
def store(arg):
stored=arg
return stored
y=store(22)
print(y)
print(stored)
22
0
我真的想了解,为什么print(stored)
不等于22.Thank你这么多。
因为函数不会改变位于全局范围内的stored
。它在函数内部创建一个局部变量stored
,给它赋值并返回它。分配会影响本地stored
,它不会触及全局stored
。
你可以把它指的是全球stored
使用global
声明:
def store(arg):
global stored
stored = arg
return stored
添加global <var_name>
语句告诉Python stored
指的是存在于全球范围的名称;功能store
中stored
的任何分配/修改现在都将更改全局范围中的相应名称。
因为你没有声明它是全局的。 – thebjorn