类foo,类foo()和类foo(对象)之间的区别?

Zer*_*ind 9 python class python-3.x

我注意到所有3 - > class foo,class foo()并且class foo(object)可以使用,但我很困惑这些3之间有什么区别,如果有的话?(我的意思是在物业中python3)

Jim*_*ard 13

让我们分解吧:

  1. class foo:

    • Python 3:这通常是要走的路.默认情况下,Python会object为您添加基类.
    • Python 2:它创造了一种旧的风格classobj,会引起各种令人头疼的问题.
  2. class foo():

    • Python 3Python 2:与class foo两个Python版本类似,修剪它,它看起来很丑,并没有任何区别.
  3. class foo(object):
    • Python 3Python 2:在两个Pythons中,都会产生一个新的样式类,它拥有所有最知名的好东西.人们通常在编写可能在Python中使用的代码时使用此表单2,显式继承自对象会导致类在Python 2中成为新样式并且在3中没有区别(除了一些额外的键入).