python list储存的是指向对象的指针_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的这种实现机制其实是极其简便的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值