Python全球变量范围



最近我在代码中遇到了一个错误,这使我足够想知道。主要问题是下面的代码有效:

def test():
    print(memory)

if __name__ == "__main__":
    memory = 1
    test()

清楚是否在文件顶部定义了memory,但这似乎是为我打破所有范围规则。但是必须有一些原因。

即使内存变量的工作似乎很奇怪,也可以预期。变量范围不被违反!

如果__name __ ==" __ main __": - 当源文件直接调用供执行而不是导入到另一个文件中时,此语句用于定义或声明全局功能,并从第三个模块调用。

因此,当您直接执行源文件时,它将首先定义变量 - MOMEME 将是全局,并且可以在函数 test> test 中访问为全局变量(没有发生过多的发生)。

请参阅以下链接以获取更多理解 - 如果__ -name __ ==; __ Main __ __:do do?do?

相关内容

  • 没有找到相关文章

最新更新