gpt4 book ai didi

python - python模块导入中的继承与类实例

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:59 24 4
gpt4 key购买 nike

抱歉,如果这没有意义,我不是一个经验丰富的程序员。

考虑以下代码:

import mymodule

class MyClass:
def __init__(self):
self.classInstance = myModule.classInstance()

然后……

from mymodule import classInstance

class MyClass(classInstance):
def __init__(self):
pass

如果我只想使用 MyClass 中的一个 classInstance,是否可以从模块中导入特定的类并让 MyClass 继承这个类?

在这两种方法之间做出决定时,是否有任何最佳实践或我应该考虑的事项?

非常感谢

最佳答案

请允许我举一个不同的例子。

假设有类 Vector。现在你想要一个类点。 Point 可以用 vector 定义,但它可能具有 Vector 没有的其他额外功能。在这种情况下,您从 Vector 派生 Point。

现在您需要一个 Line 类。A Line 不是上述任何类的特化,因此您可能不想从它们中的任何一个派生它。但是 Line 使用点。在这种情况下,您可能希望以这种方式启动 Line 类:

class Line(object):
def __init__(self):
self.point1 = Point()
self.point2 = Point()

哪里点会是这样的:

class Point(Vector):
def __init__(self):
Vector.__init__(self)

所以答案确实是:取决于您需要做什么,但是当您清楚地知道自己在编码什么时,在子类或不子类之间做出选择就变得显而易见了。

希望对您有所帮助。

关于python - python模块导入中的继承与类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11221078/

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