Python类定义:无括号与空括号写法的规范及继承含义
Python类定义的两种写法:哪种更规范?
在Python 3里,class Car:和class Car():这两种写法功能完全等价,都会创建一个默认继承object的新式类。
关于风格规范,按照PEP 8(Python官方编码风格指南)的建议:如果你的类没有需要继承的父类,应该使用不带空括号的写法class Car:,这种写法更简洁直观,也是社区普遍接受的标准写法。
至于空括号的写法,它确实可以明确表示这个类没有显式继承任何父类,但在Python 3里这个意义不大——因为哪怕你不写括号,Python也会自动让类继承object。只有在Python 2里,不带括号的是经典类,带空括号的是新式类,但Python 2已经停止维护,现在不用考虑这个差异了。
总结一下:
- 功能上两种写法在Python 3里没区别
- 风格上优先选不带空括号的
class Car: - 空括号写法能显式表示无继承,但属于冗余写法,不推荐
内容的提问来源于stack exchange,提问作者monte
相关产品推荐
相关产品推荐

