当继承类需要Python中的继承类时,如何从基类继承?

时间:2020-07-23 14:26:40

标签: python inheritance

鉴于以下要求:

  1. 我们有FoundationData
  2. DataFoundation的子类
  3. Foundation的实例包含Data的实例

Python代码:

from __future__ import annotations

class Foundation():
    data: Data

    def __init__(self):
        self.data = Data()

class Data(Foundation):
    pass

Foundation()

但是,给定脚本以RecursionError退出。为什么以及如何实施三个给定的要求?

1 个答案:

答案 0 :(得分:1)

您可以使用public struct DtClip: Codable { // MARK: Properties public var video: String? public var preview: String? public var clip: String? public var trailer: Trailer? enum CodingKeys: String, CodingKey { case video = "video" case preview = "preview" case clip = "clip" case trailer = "trailer" } } public struct Trailer: Codable { // MARK: Properties public var name: String? public var id: Int? enum CodingKeys: String, CodingKey { case name, url } } 来避免调用一个对象,而该对象又调用了一个调用对象的对象...等等,直到递归错误为止。

super

现在您调用了from __future__ import annotations class Foundation(): def __init__(self, data): self.data = data print(self.data) class Data(Foundation): def __init__(self): super(Data, self).__init__(self) Data() ,数据的Datasuper,其中包含对其子项的引用。

Tutorial