函数内的 Python 全局变量



>我需要帮助来解释以下行为,为什么x是全局变量?

def y():
print(x)
if __name__ == "__main__":
x=5
a = y()

输出:5

if __name__ == "__main__":

不定义新的/本地范围。它旨在防止在模块由另一个模块导入时执行以下块。

因此,在此块中定义x会使其全局化,并且它之所以有效,是因为您在定义函数调用该函数。

请注意,导入此模块并从那里调用y将引发错误,因为不会执行x的定义

相关内容

  • 没有找到相关文章

最新更新