Python 全局变量规范 | Google 官方避坑指南
2025-07-22 13:33 更新
全局变量
Tip
避免全局变量。
定义:
在程序运行时可以发生变化的模块级变量和类属性 (class attribute)。
优点:
偶尔有用。
缺点:
- 破坏封装:这种设计会阻碍一些有用的目标。例如,如果用全局变量来管理数据库连接,那就难以同时连接两个数据库 (比如为了在数据迁移时比较差异)。全局注册表也有类似的问题。
- 导入模块时可能改变模块的行为,因为首次导入模块时会对全局变量赋值。
结论:
避免使用全局变量。
在特殊情况下需要用到全局变量时,应将全局变量声明为模块级变量或者类属性,并在名称前加 _
以示为内部状态。如需从外部访问全局变量,必须通过公有函数或类方法实现。详见 命名规则 章节。 请用注释或文档链接解释这些全局变量的设计思想。
我们允许并鼓励使用模块级常量,例如 _MAX_HOLY_HANDGRENADE_COUNT = 3
表示内部常量,SIR_LANCELOTS_FAVORITE_COLOR = "blue"
表示公开API的常量。注意常量名必须全部大写,用下划线分隔单词。详见 命名规则 章节。Python 全局变量规范 |
以上内容是否对您有帮助:
更多建议: