在Python中,类前面加下划线通常遵循以下约定:
单下划线前缀(_var)
用作变量或方法名称时,单个下划线前缀表示该属性或方法属于“私有”,即不应该在类的外部直接访问。
这是一个约定俗成的命名惯例,不是Python的语法规定。
在PEP 8(Python编程风格指南)中,这种命名方式被推荐,但遵循与否完全取决于开发者。
双下划线前缀(__var)
在类的内部,双下划线开头的变量或方法被视为“私有”,外部代码不能直接访问。
名称修饰(name mangling)会改变这些名称,使得它们在类的上下文中更加唯一,避免命名冲突。
单下划线后缀(var_)
当变量名已经被Python关键字占用时,可以添加一个下划线作为后缀来避免命名冲突。
名称修饰同样会影响以两个下划线字符开头的名称。
需要注意的是,Python并没有像Java那样严格的“私有”和“公共”变量区分,上述约定主要是为了代码的可读性和维护性。遵循这些约定可以帮助其他开发者理解代码的意图和结构。