+10 投票
分类:Python编程与实践 | 用户: (3.5k 分)

1个回答

+2 投票
用户: (45.4k 分)

关于全局变量和局部变量,这篇文章写的很不错,可以参考:Python3 命名空间和作用域

image

官方文档 编程常见问题 里也有 Python 的局部变量和全局变量有哪些规则? 条目可以参考:

函数内部只作引用的 Python 变量隐式视为全局变量。如果在函数内部任何位置为变量赋值,则除非明确声明为全局变量,否则均将其视为局部变量。

起初尽管有点令人惊讶,不过考虑片刻即可释然。一方面,已分配的变量要求加上 global 可以防止意外的副作用发生。另一方面,如果所有全局引用都要加上 global ,那处处都得用上 global 了。那么每次对内置函数或导入模块中的组件进行引用时,都得声明为全局变量。这种杂乱会破坏 global 声明用于警示副作用的有效性。

欢迎来到 爱可可Q&A ,有什么问题可以尽管在这里提问,你将会收到其他成员的热心回答。
...