You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中与关键字、内置函数重名的变量下划线命名规则咨询

Python变量名与关键字、内置标识符冲突的命名规范

首先明确核心结论:常规场景下优先使用后缀下划线(keyword_),不要使用前缀下划线(_keyword),两种写法语法层面都可正常运行,区别仅在于是否符合通用命名约定、是否会造成语义误解,具体区分场景说明如下:

  • 普通场景(非类内部)

    • 与Python保留关键字(如True、False、def、class等)冲突时:统一使用后缀下划线,比如要命名和True重名的变量,用True_即可。

      前缀单下划线的通用约定是「模块级私有/受保护成员」,使用from module import *时不会导入该类成员。普通局部/全局变量加前缀下划线会误导其他开发者,误以为该变量是私有属性,不应该被外部调用。

    • 与Python内置函数/类(如open、list、max、str等)冲突时:同样优先用后缀下划线,比如你提到的开盘价变量,可用open_。如果允许的话更推荐结合场景起更具象的名称,比如股票开盘价直接命名为opening_price,可读性比open_更高,还能完全避免命名冲突。
  • 类内部定义成员的场景

    类场景下的命名选择要结合成员的访问权限约定调整:
    • 如果该变量/方法是设计为对外公开的成员,依然遵循后缀下划线的规则,比如类的公开方法和内置filter冲突,命名为filter_即可,避免用_filter让开发者误以为是受保护成员不敢调用。
    • 如果该变量/方法本身就是设计为私有/受保护的成员,仅允许类内部或子类访问,可直接用前缀下划线,比如内部存储的开盘价属性命名为_open,刚好符合私有成员的命名约定,不需要再加后缀下划线。

内容的提问来源于stack exchange,提问作者Sara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:57:02