所以我有這段代碼.........print(F"node id {id(node)}")print(F"left child id {id(prevNode.get_left_child())}")node = Noneprint(F"node id {id(node)}")print(F"left child id {id(prevNode.get_left_child())}...這給了我以下輸出:node id 4860975032left child id 4860975032node id 4383750560left child id 4860975032我本來期望:node id 4860975032left child id 4860975032node id 4383750560left child id 4383750560prevNode.get_left_child()指向該node對象,但是當(dāng)我將 node對象設(shè)置為None它時,不會更新prevNode.get_left_child()引用。為什么是這樣?
2 回答

喵喵時光機(jī)
TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個贊
在Python中,將變量設(shè)置為None
僅意味著該變量不再指向它之前指向的位置,指向同一對象的其他變量名稱以及該對象本身保持不變。

牛魔王的故事
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個贊
您剛剛更改了變量指向的位置。您還沒有接觸過這些物體。
前:
None (4383750560)
objectA <-- prevNode
+-> left_child = objectB (4860975032) <-- node
后:
None (4383750560) <-- node
objectA <-- prevNode
+-> left_child = objectB (4860975032)
添加回答
舉報(bào)
0/150
提交
取消