Python 如何从Inner方法访问外部方法中定义的变量
我有一个简单的python代码,如下所示:Python 如何从Inner方法访问外部方法中定义的变量,python,Python,我有一个简单的python代码,如下所示: def outer(): x = None y = None z = None def set(): x = 1 y = "Y" z = 2 def get(): return x, y, z set() m, s, n = get() print("%s, %s, %s" % (m, s, n)) outer()
def outer():
x = None
y = None
z = None
def set():
x = 1
y = "Y"
z = 2
def get():
return x, y, z
set()
m, s, n = get()
print("%s, %s, %s" % (m, s, n))
outer()
我想得到1y2
,但结果是None
看起来变量x,y,z不是通过set
方法设置的
我想问一下如何获得结果
1y2
您可以使用非本地
关键字
def outer():
x=无
y=无
z=无
def set():
非局部x
非局部y
非局部z
x=1
y=“y”
z=2
def get():
返回x,y,z
集合()
m、 s,n=get()
打印(“%s,%s,%s”%(m,s,n))
外()
您可以使用global
关键字访问全局变量