以Object作为参数的类

我试图将一些python代码翻译为scala代码。 所以我是一个Python的总noobot。

但为什么一些类有对象作为参数,但从来没有明确使用它? 首先把它作为参数的理由是什么?

例:

class Table(object) 

感谢您的时间。

在Python2中,这个TableTable声明为一个新的类 (与“经典”类相对)。 在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中,创build所有类的新样式类是一个好主意。 (尽pipe为了向后兼容,标准库中的很多类仍然是经典类。)

一般来说,在诸如

 class Foo(Base1, Base2): 

Foo被声明为从基类Base1Base2inheritance的类。

object是Python中所有类的母亲。 它是一种新型的类,所以从objectinheritance使得Table成为一种新型的类。

Table类扩展了一个名为object的类。 这不是一个争论。 你可能想明确地扩展object的原因是它把类变成一个新风格的类。 如果你没有明确指定它的扩展object ,那么在Python 3之前,它将默认为一个旧式的类。 (从Python 3开始,所有的类都是新的types,不pipe你是否明确地扩展object 。)

有关新式和旧式课程的更多信息,请参阅此问题 。

类表和类表(对象)对Python没有什么不同。

它不是一个参数,它是从对象(它是许多其他语言的基类)中扩展而来的。

它所说的只是它inheritance了“对象”中定义的任何东西。 这是默认行为。

只需要注意“新风格”与“旧风格”类的区别是Python 2.x特有的;在3.x中,所有类都是“新风格”。

1)类名(对象):2)类名:它们都是相同的,但是在写作方面,它们是相同的,在将其他类inheritance到另一个类时看起来更好,它看起来是同质的。

如何相同? 所以,Python中的每一件事情都是在对象之下的,意味着Python中的每一件事物都具有对象的属性,如果写或者不理解的话。 首先,我们明确地告诉它,我们没有。