python中变量标识的本质以及由这个本质而来的python版的链表

1.在python为什么以下代码可以实现a,b值互换?
a = 10
b = 20
a,b = b,a
  • 在python当中,变量保存的其实是一块地址,a = 10也就是内存中开辟了一块地址,a是这块地址的别名a实际是地址0x23(假设开辟的地址为0x23),而地址才真正指向真是的10
    在这里插入图片描述
  • 由于python的这一特性,进行交换的实际是a,b的地址,所以上面的语法才可以执行的通
    在这里插入图片描述
2.链表的引出
  • python中万物皆对象!同理,我们创建一个链表的类。
class Node:
    def __init__(self,item):
        self.item = item
        self.next = next
  • 那么node1 = Node真实是在内存中开辟了一块地址,而这块内存地址就是这个Node类的对象,next指向的是保存node2的地址
    在这里插入图片描述

参考链接:https://blog.csdn.net/qq_41955003/article/details/95166090

发布了59 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Galen_xia/article/details/103755655