Python 全局变量规范 | Google 官方避坑指南

2025-07-22 13:33 更新

全局变量

Tip

避免全局变量。

定义:

在程序运行时可以发生变化的模块级变量和类属性 (class attribute)。

优点:

偶尔有用。

缺点:

  1. 破坏封装:这种设计会阻碍一些有用的目标。例如,如果用全局变量来管理数据库连接,那就难以同时连接两个数据库 (比如为了在数据迁移时比较差异)。全局注册表也有类似的问题。
  2. 导入模块时可能改变模块的行为,因为首次导入模块时会对全局变量赋值。

结论:

避免使用全局变量。

在特殊情况下需要用到全局变量时,应将全局变量声明为模块级变量或者类属性,并在名称前加 _ 以示为内部状态。如需从外部访问全局变量,必须通过公有函数或类方法实现。详见 命名规则 章节。 请用注释或文档链接解释这些全局变量的设计思想。

我们允许并鼓励使用模块级常量,例如 _MAX_HOLY_HANDGRENADE_COUNT = 3 表示内部常量,SIR_LANCELOTS_FAVORITE_COLOR = "blue" 表示公开API的常量。注意常量名必须全部大写,用下划线分隔单词。详见 命名规则 章节。Python 全局变量规范 |

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号