可能是重复问题:
Python中的旧式类和新式类
Python 2.7中新式类和旧式类的状况如何?
我不经常使用Python,但我对这个问题有点印象。文档似乎根本没有提到这个问题:Python教程:类。 我还需要担心这个问题吗?一般来说,我应该像以下这样声明我的类吗?
class MyClass:
pass
或者呢?
class MyClass(object):
pass
可能是重复问题:
Python中的旧式类和新式类
Python 2.7中新式类和旧式类的状况如何?
我不经常使用Python,但我对这个问题有点印象。文档似乎根本没有提到这个问题:Python教程:类。 我还需要担心这个问题吗?一般来说,我应该像以下这样声明我的类吗?
class MyClass:
pass
或者呢?
class MyClass(object):
pass
始终继承"object"。这些是新的样式类。
这样,您就可以准备好使用Python 3了。
如果需要,这样做可以正常使用类似于 ".super()" 的功能。
@property
,@classmethod
和@staticmethod
)只能与新式类一起使用。 - Martijn Pietersclass MyClass:
来定义新式类? - GP89您应该始终使用新型类。新型类是Python编程语言中将内置类型和用户定义的类统一的努力的一部分。
新型类有很多优点,例如:
还是
class MyClass(object)`这样声明我的类,因此提出了我的问题。 - User