首先我們先來看一個基本的例子
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的這種實現機制其實是極其簡便的。