Answers:
在Python2中,此方法声明Table为一种新型类(与“经典”类相对)。在Python3中,所有类都是新型类,因此不再需要。
新样式类具有一些经典类所缺少的特殊属性。
class Classic: pass
class NewStyle(object): pass
print(dir(Classic))
# ['__doc__', '__module__']
print(dir(NewStyle))
# ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
在Python2中,最好将所有类都设为新样式。(尽管为了向后兼容,标准库中的许多类仍然是经典类。)
通常,在诸如
class Foo(Base1, Base2):
Foo被声明为从基类Base1和继承的类Base2。
object是Python所有类的母亲。它是一种新型的类,从这么继承object品牌Table新风格的类。
object。这两个语句放在一起意味着您不需要object在Python3中的类库列表中包含它们,因为所有类都是Python3中的新型类。
该Table课程扩展了名为的课程object。这不是争论。您可能要object显式扩展的原因是,它将类变成了新样式。如果您未明确指定它扩展object,直到Python 3,它将默认为旧类。(从Python 3开始,无论您是否显式扩展,所有类都是新样式object。)
有关新式和旧式类的更多信息,请参见此问题。
对于Python,类Table和类Table(object)相同。
它不是参数,而是从对象(与许多其他语言一样为基类)扩展的。
它只说它继承了“对象”中定义的任何内容。这是默认行为。
object仅是Python 3中的默认行为。在python 2中,类扩展对象具有不扩展对象的类将不具有的属性。
object是python中定义的类对象的最基本类型。对象的属性如下所示
** >>>目录(对象)
[' class ',' delattr ',' doc ',' format ',' getattribute ',' hash ',' init ',' new ',' reduce ',' reduce_ex ',' repr ',' setattr ',' sizeof ',' str ',' subclasshook '] **
所以Table(object)只是继承。
1)类名(对象):2)类名:它们都是相同的,但第一个类在编写方面相当好,在继承其他类到另一个类时看起来更好,看起来很同质。
一样吗?因此,Python中的所有事物都属于对象,这意味着Python中的所有事物都具有对象的属性,无论是否写入,它都会理解它。首先,我们明确地告诉第二个我们没有。