python - if __name__ == __main__ 的范围

标签 python scope

if __name__ == __main__ 的范围是什么?该声明是否涵盖了全局空间中的所有内容?

最佳答案

if __name__ == '__main__' block 没有什么特别之处。也就是说,它的范围是由它发生的地方决定的。由于此类 block 通常出现在顶层,因此它们的范围是全局的。

如果这个 block 出现在一个完全合法的函数中,它的作用域将是局部的——除了 __name__ 仍将解析为模块中定义的全局值。

关于python - if __name__ == __main__ 的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12807069/

相关文章:

angularjs - 为什么模型不会在这个递归 Angular 指令中更新?

c - 具有子作用域的函数的栈帧结构

python - Django 测试 - 模拟用户已登录

python - 使用批量提交系统时调试潜在的整数溢出?

python - 使用python将数据从文件加载到oracle表

javascript - 从 Node 中的内部函数引用外部函数 var

python - fatal error : 'mymodule.h' file not found - Cython compile fails to find header

python - 应用和 Lambda 函数 - ValueError : The truth value of a Series is ambiguous. 使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()

java - Java 枚举成员

lua - 在 Lua 中,使用和不使用 "local"关键字声明的本地函数之间有区别吗?