class Node:
def __init__(self,dic_nodes = dict()):
self.dic_nodes = dic_nodes
root = Node()
print("original_root:", root)
word = "sci"
length = len(word)
for i in range(0, length):
if word[i] not in root.dic_nodes:
print("root:", root)
new_node = Node()
print("new_node:", new_node, len(new_node.dic_nodes))
root.dic_nodes[word[i]] = new_node
next = root.dic_nodes[word[i]]
print("next:", next, len(root.dic_nodes[word[i]].dic_nodes))
root = next
print("root:", root)
print()
输出是这样的:
original_root: <__main__.Node object at 0x109eb1510>
root: <__main__.Node object at 0x109eb1510>
new_node: <__main__.Node object at 0x109ec3350> 0
next: <__main__.Node object at 0x109ec3350> 1
root: <__main__.Node object at 0x109ec3350>
root: <__main__.Node object at 0x109ec3350>
new_node: <__main__.Node object at 0x109eb1510> 1
next: <__main__.Node object at 0x109eb1510> 2
root: <__main__.Node object at 0x109eb1510>
root: <__main__.Node object at 0x109eb1510>
new_node: <__main__.Node object at 0x109ec3fd0> 2
next: <__main__.Node object at 0x109ec3fd0> 3
root: <__main__.Node object at 0x109ec3fd0>
我的问题:我
第二次调用 Node() 来构造一个新对象,我认为“ len(new_node.dic_nodes) ”也应该是 0,就像我第一次创建一个新对象一样。我无法弄清楚我的问题出在哪里。