从嵌套类创建相同类型的python对象

时间:2017-02-27 15:28:52

标签: python oop nested

我需要对我遇到的一个奇怪问题有一点暗示,我不是一个完整的蟒蛇新手,但我以前从未见过这个问题。

我有一个名为List的类,其中包含一个嵌套类_Node。我可以:

  • List
  • 中初始化List类型的对象
  • _Node
  • 中初始化List类型的对象
  • List
  • 中初始化_Node类型的对象

但是,我无法在_Node内初始化_Node。以下代码的最后一行会导致NameError: global name '_Node' is not defined

class List:
    def __init__(self):
        self.root = None
        self.brother = None

    def set_root(self):
        self.root = self._Node()

    def set_brother(self):
        self.brother = List()

    def set_root_next(self):
        self.root.set_next()

    class _Node:
        def __init__(self, next_node=None, data=None):
            self.next_node = next_node
            self.data = data

        def set_next(self):
            self.next_node = _Node()

if __name__ == '__main__':
    x = List()
    x.set_root()
    x.set_brother()
    x.set_root_next()

我该如何解决这个问题?使_Node类unnested工作,但我计划在同一个文件中有许多类型的列表,并且所有伴随节点都从一个抽象类继承,所以我尝试的这个结构很重要。< / p>

(我知道为我的课程命名是一个坏主意&#39;列表&#39;,这只是这个问题的唯一名称。)

1 个答案:

答案 0 :(得分:1)

尝试使用.enqueue(new Callback<String>() { @Override public void onResponse(Call<String> call, Response<String> response) { Log.i("Response", response.body().toString()); //Toast.makeText() if (response.isSuccessful()){ if (response.body() != null){ Log.i("onSuccess", response.body().toString()); }else{ Log.i("onEmptyResponse", "Returned empty response");//Toast.makeText(getContext(),"Nothing returned",Toast.LENGTH_LONG).show(); } } 代替

self.__class__()