Python 使用对象作为参数初始化

Python 使用对象作为参数初始化,python,Python,我正在尝试将一些python代码转换为scala代码。所以我在Python中完全是个笨蛋 但为什么有些类将对象作为参数,但从不显式使用它?把它作为参数的理由是什么 例如: class Table(object) 谢谢您的时间。表类正在扩展一个名为对象的类。这不是争论。您可能希望显式扩展对象的原因是它将类转换为一个新样式的类。如果在Python3之前没有明确指定它扩展对象,它将默认为一个旧式类。(自Python3以来,无论是否显式扩展object,所有类都是新样式的。) 有关新样式和旧样式类的更

我正在尝试将一些python代码转换为scala代码。所以我在Python中完全是个笨蛋

但为什么有些类将对象作为参数,但从不显式使用它?把它作为参数的理由是什么

例如:

class Table(object)

谢谢您的时间。

表类正在扩展一个名为
对象
的类。这不是争论。您可能希望显式扩展
对象
的原因是它将类转换为一个新样式的类。如果在Python3之前没有明确指定它扩展
对象
,它将默认为一个旧式类。(自Python3以来,无论是否显式扩展
object
,所有类都是新样式的。)


有关新样式和旧样式类的更多信息,请参见。

对于Python来说,类表和类表(对象)没有什么不同

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


它所说的只是继承了“对象”中定义的任何内容。这是默认行为。

在Python2中,这声明
为a(与“经典”类相反)。 在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中所有类的母亲。它是一个新样式的类,因此从
对象继承
使
表成为一个新样式的类。

请注意,“新样式”与“旧样式”的区别是Python 2.x特有的;在3.x中,所有类都是“新样式”。

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

有多相似? 所以,Python中的每一件事都在object之下意味着Python中的每一件事都有object的属性,不管写不写,它都会理解它。
在第一个例子中,我们明确地告诉它,在第二个例子中,我们没有这样做。

对象是python中定义的最基本的类对象类型。 对象的属性如下所示

**>>>目录(对象)

[“class”、“delattr”、“doc”、“format”、“getattribute”、“hash”、“init”、“new”、“reduce”、“reduce ex”、“repr、“setattr”、setattr,“str”,“子类hook”]**


So表(对象)只是继承。!

自动扩展
对象的类的可能重复只在Python 3中是默认行为。在Python 2中,类扩展对象具有不扩展对象的类所不具有的属性。这是更直接和简洁的答案。谢谢。Python 2中不是这种情况,请参阅ac详细信息请接受回答。您能将我重定向到一个源,其中提到对象在Python3中不必作为参数吗?我似乎找不到它。谢谢您在StackOverflow()中多次提到它,但我在文档中找不到关于它的简单声明。它隐式显示(通过从类基列表中省略
object
)。还声明“新样式类”是“现在用于所有类对象的类风格的旧名称”(我的重点)。以及“新样式类”“是从
object
继承的任何类。这两条语句放在一起意味着您不需要将
object
包含在Python3中的类基列表中,因为所有类都是Python3中的新样式类。