我需要帮助来解释以下行为,为什么x是全局变量?
def y(): print(x) if __name__ == "__main__": x=5 a = y()
输出:5
5
if __name__ == "__main__":
未定义新的/本地范围。它旨在防止在其他模块导入该模块时执行以下块。
因此在此块中定义x使其成为全局变量,并且之所以有效,是因为您正在调用定义了它的函数[[after。
x
y