对于没有继承的类定义,在:
之间是否有任何差异或风格偏好class M:
pass
和
class M():
pass
我在PEP8中找不到它。
答案 0 :(得分:7)
它不在PEP 8中,因为在Python 3的早期,Guido建议每个人都应该在过渡期间明确地继承object
。可能这应该更新......
但是,如果您查看文档中不使用class M(object):
的所有示例,它们都使用第一种格式class M:
。
例如,请参阅教程中的Class Definition Syntax,Class Objects和以下所有部分。 (请注意,本教程甚至没有解释您可以在括号内使用零基类。)
(另外,至少在我看来,第二种格式意味着你明确地试图从任何东西继承,这是误导,而第一种暗示你只是在做默认的事情。)