Python 命名风格、命名指南、类命名

本文介绍了Python中的命名风格,包括常量、私有变量、函数、类等命名规则,以及名称修饰、特殊方法的使用方式。此外,还给出了类命名的一些指导原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python中使用的命名风格包括:

  1. 常量:使用大写,如果需要可以加下划线
  2. 私有变量:使用前缀下划线加字母
  3. 函数和方法:使用小写,如果需要可以加下划线
  4. 参数:使用小写,如果需要可以加下划线
  5. 类:驼峰式命名。如果是模块的私有类,还可能有一个前缀下划线
  6. 模块和包:模块名称小写,不带下划线

名称修饰:

在Python中,名称修饰(name-mangling)特性表示如果一个方法和属性使用了双下划线(__),则Python解释器会对这个方法或属性重命名。

class MyClass(object):
    def __sec(self):
        pass

print(MyClass.__dict__)
""
{'__doc__': None, '__module__': '__main__', '_MyClass__sec': <function MyClass.__sec at 0x7efcf031bd08>, '__dict__': <attribute '__dict__' of 'MyClass' objects>, '__weakref__': <attribute '__weakref__' of 'MyClass' objects>}
""

但是这种功能并不是建议用来做私有属性用的,而是Python用来避免子类冲突,特别是在多重继承的上下文中。

特殊方法:

特殊方法以双下划线开头和结束,可以称为dunder(double-underscore),它们可用于运算符重载、容器定义等。它们应该集中放在类定义的开头:

class MyClass(object):
    def __repr__(self):
        return 'hello {0}'.format(self.__class__)

    def do_what(self):
        pass

print(MyClass())

""
hello <class '__main__.MyClass'>
""

命名指南:

  1. 用has或is前缀命名布尔元素
  2. 用复数形式命名集合变量
class DB:
    is_connected = False
    has_cache = False

    connected_users = ['ZX']
    tables = {
        'account': ['id', 'name']
    }

类的名称

类的名称必须简明、精确,并足以使人理解类的作用。常见的做法是使用后缀表示其类型或特性:
1. SQLEngine
2. MimeTypes
3. StringWidget

对于基类和抽象类,可以使用一个Base或Abstract前缀:
1. BaseCookie
2. AbstractFormtter

最重要的是要和类的属性保持一致,尽量避免冗余:
1. SMTP.smtp_send() 这个命名空间存在冗余信息
2. SMTP.send() 这个可读性强,好好好!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值