我需要帮助来解释以下行为:为什么x是全局变量?
def y():
print(x)
if __name__ == "__main__":
x=5
a = y()
输出: 5
if __name__ == "__main__":
没有定义新的/本地范围。它旨在防止在其他模块导入该模块时执行以下块。
因此,x
在此块中进行定义使其成为全局变量,并且之所以起作用,是因为在定义该函数之后要调用该函数。
请注意,导入此模块并y
从那里调用会引发错误,因为x
将不会执行
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句