1. 程式人生 > 實用技巧 >Python不是沒有指標,而是任何物件都是指標

Python不是沒有指標,而是任何物件都是指標

首先我們先來看一個基本的例子

Python當中建立一個整形或者其他什麼型別的物件的時候,都可以理解為建立了一個指標指向一個已經存在的物件, 就像這個例子:是不是可以理解為a指向了5這個物件

我們再看一個例子

這個例子直觀意思是a賦值為1,然後建立了一個變數b,將a的值賦給了b

但是我們查了地址發現,這就是將b指向了a啊,但是這種指標有一個特殊的地方,就是如果修改b的值,只會將b指向一個新的物件,而不會修改a的值

接下來我們再看一個用Python實現一個簡單鏈表

class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
a = ListNode(5) #建立了連結串列尾
b = ListNode(6,a)
c = ListNode(7,b)
head = c #c是連結串列頭結點
p = head
while p != None: #迴圈列印連結串列節點
print(p.val)
p = p.next
執行結果:

這裡就是利用了Python的物件是萬能指標,可以指向任何一個物件

不得不說,Python的這種實現機制其實是極其簡便的。