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的这种实现机制其实是极其简便的。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM