class Node:
def __init__(self, data = None):
self.data = data
self.next = None
node1 = Node (1)
node1.next = Node (2)
x = node1
當我說“x = node1”時,x 到底是什么?因為它是指向 node1 存盤位置的指標還是創建鏈接串列的單獨相同副本?或者兩者都不是
我問是因為如果我要添加...
x = Node (100)
...node1 沒有改變。但是如果我加...
x.data = 100
...相反,node1 將被更改,因為鏈表中的第一個值現在將是 100。
另外,如果我要添加...
print (node1)
...我會得到類似“< main .Node object at 0x0000019599685FD0>”的資訊,0x0000019599685FD0 部分是物件的記憶體地址嗎?
uj5u.com熱心網友回復:
node1 = Node(1):node1是對使用創建的物件的參考Node(1)。
物件的識別符號是0x0000019599685FD0CPython(Python 的默認實作)中物件所在的位置。
x = node1使x參考中的同一個物件node1。
x.data = 100更改參考的物件的屬性資料x。
x = Node (100)使x參考成為一個全新的物件。
我強烈建議使用Python Tutor等工具對其進行可視化。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/388982.html
上一篇:如何將資料幀融合為長格式?
