gpt4 book ai didi

python - 为什么有必要在 Python 中从对象继承子类?

转载 作者:太空狗 更新时间:2023-10-29 17:05:10 25 4
gpt4 key购买 nike

我使用 Python 已经有一段时间了,但我仍然不确定为什么要从 object 继承。这有什么区别:

class MyClass():
pass

还有这个:

class MyClass(object):
pass

据我所知,object 是所有类的基类,并且隐含了子类化。你从它的显式子类化中得到了什么吗?最“Pythonic”的事情是什么?

最佳答案

这是 python 2.x 中的旧式和新式类。第二种形式是最新版本,存在于 python 2.2 及更高版本中。对于新代码,您应该只使用新样式类。

在 Python 3.x 中,您可以再次无差别地使用这两种形式,因为新样式是唯一剩下的样式,并且两种形式真正等效。但是我相信你应该继续使用 MyClass(object) 形式,即使是 3.x 代码,至少在 python 3.x 被广泛采用之前,以避免对你的代码的潜在读者产生任何误解 2 .x.

旧样式类和新样式类之间的行为在某些功能(如使用 super())方面有很大不同。

请看这里:New Style classes

您还可以看到here在 SO 上。

关于python - 为什么有必要在 Python 中从对象继承子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2715186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com