我看到有关这个话题的一些类似的问题,但我希望得到肯定,所以我问...
是什么区别:
class MyClass:
pass
和
class MyClass():
pass
此外,有没有这两者之间的区别:
class MyClass():
pass
class MyClass(object):
pass
我看到有关这个话题的一些类似的问题,但我希望得到肯定,所以我问...
是什么区别:
class MyClass:
pass
和
class MyClass():
pass
此外,有没有这两者之间的区别:
class MyClass():
pass
class MyClass(object):
pass
还有就是前两种拼法之间没有什么区别。
在Python 2.7版,还有就是后两者之间的巨大差异。 继承object
使它成为一个新式类 ,改变继承语义,并添加描述(支持@property
, @classmethod
等)。 这是在Python 3默认。
新样式类在Python 2.2引入了统一类型(如int
和list
),和类,因为一些事情改变向后兼容的方式,你需要“同意”,从明确的继承object
,使变化。
在Python 3,继承object
是不再需要,类新风格,始终。
有没有区别class MyClass
和class MyClass()
第二个问题是依赖于你的Python版本。 在python3.x,没有任何区别-在python2.x,后者(你来自哪里继承object
)创建一个新的风格类 ,而不是老式的类。 在python3.x, 所有的类都是新的样式。 新式类是首选,这些天 - 因此,我总是确保我的课从对象继承。
的类型的类声明class MyClass(object)
是新式类上的Python 2.x的
圭多写的一些,在带来新的阶级思想的Python的历史