python2.7中类对象的级联列表

2024-10-05 14:26:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解析一个包含级联数据结构的yaml文件。像

- Building
  Address
  Zip
  Room
   -- Employee1
   -- Employee2

等等

我试图把它存储在类对象的列表中。 我将问题简化为以下代码:

qstuff.py

^{pr2}$

worker.py

from qstuff import astuff
from qstuff import bstuff

my_stuff = [astuff]

more_stuff = [bstuff]

more_stuff.append(bstuff)
more_stuff.append(bstuff)

my_stuff[0].a_st.append(bstuff)

这给了我以下错误:

$ python worker.py 
Traceback (most recent call last):
  File "worker.py", line 11, in <module>
    my_stuff[0].a_st.append(bstuff)
AttributeError: class astuff has no attribute 'a_st'

关于这个问题,我已经搜索了很长时间,但是对于为什么这个方法不起作用,或者我需要如何在列表中存储级联数据,都找不到一个可以理解的答案。


Tags: frompyimport数据结构列表mymore级联
1条回答
网友
1楼 · 发布于 2024-10-05 14:26:35

您没有创建任何实例,只创建了对类的引用。在

您需要调用类来创建该类的实例:

self.a_st = [bstuff()]

以及

^{pr2}$

您的astuff类没有a_st属性;该属性只为astuff.__init__方法中的实例设置(在创建新实例时自动调用)。在

我不会直接在类上这样做(所以不要在类主体中添加a_st = [bstuff]),除非您真的想创建一个不需要为其创建实例的可变单例类的层次结构。在

相关问题 更多 >