为什么Python网站上的一些代码示例不使用` class classname(object):`约定?

为什么Python网站上的一些代码示例不使用` class classname(object):`约定?,python,Python,我一直听说在Python中创建类时最好显式地从object继承,但我注意到在Python网站上的许多示例中(例如,)没有使用此约定。这有什么原因吗?这些示例使用的是Python 3(精确地说是3.6)。“旧”与“新”样式类在Python2中很重要。在Python3中,所有类都是“新样式”类。这在“旧样式vs新样式”类的文档中进行了解释。最终,在Python2中,类不会从对象继承。Python3解决了这一问题。您展示的示例使用Python3。我建议坚持使用类的类名(对象):目前的惯例,因为它使编写

我一直听说在Python中创建类时最好显式地从object继承,但我注意到在Python网站上的许多示例中(例如,)没有使用此约定。这有什么原因吗?

这些示例使用的是Python 3(精确地说是3.6)。“旧”与“新”样式类在Python2中很重要。在Python3中,所有类都是“新样式”类。

这在“旧样式vs新样式”类的文档中进行了解释。最终,在Python2中,类不会从对象继承。Python3解决了这一问题。您展示的示例使用Python3。我建议坚持使用
类的类名(对象):
目前的惯例,因为它使编写在Python3和Python2.oth上都能正确运行的代码变得更容易。如果您编写的代码是专门为Python3编写的,那么要使Python2兼容将是一件痛苦的事,那么可以随意删除
(对象)
)如果我不清楚的话,很抱歉。我理解Python 3中没有区别,但我的问题是关于使用
class Foo:
vs
class Foo(对象)的选择:
在Python3中,知道两者都做相同的事情。@ChristopherShroba没有理由继承Python3中的
对象,而不是保持与Python2在相同代码基础上的向后兼容性。如果不需要这样的支持,那么它只会对代码发出咔哒声。如果(x==1),也可以编写
If:
但你没有,因为它只会增加视觉上的碰撞。我明白了。谢谢你的评论!