class Element():
def __init__(self, tag, childs = [], attributes = {}):
self.childs = childs
self.tag = tag
self.attrib = attributes
def get_childs(self):
return self.childs
def add_Child(self, child):
self.childs.append(child)
class Html():
def __init__(self):
self.tag1 = Element("head")
self.tag2 = Element("body")
tag0 = Element("html", [self.tag1, self.tag2])
def get_body(self):
return self.tag2
def get_head(self):
return self.tag1
def main():
html_object = Html()
print html_object.get_body().get_childs()
print html_object.get_head().get_childs()
print "---------------"
html_object.get_body().add_Child("new_child_added_to_body_ELEMENT")
print "---------------"
print html_object.get_body().get_childs()
print html_object.get_head().get_childs()
if __name__ == "__main__":
main()
执行上面的代码行时,我得到以下输出:
[]
[]
---------------
---------------
['new_child_added_to_body_ELEMENT']
['new_child_added_to_body_ELEMENT']
虽然我想将'new_child_added_to_body_ELEMENT'仅插入 self.childs 的 self.childs 列表中(“ body“元素”),我最终获得的是该行也被添加到 self.childs 的 self.tag1 列表中(“head”元素)也在 Html 类init中声明。
显然我错过了一些关于python类的内容,所以我真的很感激我对错误的解释。