【发布时间】:2016-12-09 12:41:05
【问题描述】:
关于变量作用域的简单问题:为什么在主函数中声明的变量可以从外部函数访问? IE。为什么以下打印“是”?
def run():
print var
if __name__ == '__main__':
var = 'yes'
run()
有没有办法“关闭它”?就编写好的代码而言,忽略将变量作为参数传递给函数并仍然让您的代码运行是没有帮助的。
【问题讨论】:
-
这不是“主要功能”;这只是一个 if 语句。你可以定义一个名为
main(或其他任何东西)的函数,如果你愿意,只在if内调用它。 -
误解是你的代码中没有 main 函数。唯一的功能是
run()和run当然可以查看所有外部变量(尽管不能更改它们)。