首页 > 解决方案 > 嵌套函数的 Python 作用域

问题描述

我对命名空间和范围做了一些研究,并看到了一个写得很好的答案:https ://softwareengineering.stackexchange.com/questions/273302/what-is-the-relationship-between-scope-and-namespaces-in-python

有这样一段:“当我们说 x 在函数的命名空间中时,我们的意思是它是在函数中本地定义的。当我们说 x 在函数的范围内时,我们的意思是 x 要么在函数的命名空间中,要么在任何函数的命名空间嵌套在内部的外部命名空间中。”

为了测试我的理解,如果我对下面的代码说错了,请纠正我:

a)x并且g位于f

b )y位于gg

c)z并且f可以在全局范围内找到。

d) 范围f是的父范围g

z=5
def f():
    x=5
    def g():
        y=5
        return y
    return g()

标签: pythonpython-3.xscope

解决方案


推荐阅读