id(object)

Return the “identity” of an object. This is an integer (or long integer) which is guaranteed to be unique and constant for this object during its lifetime. Two objects with non-overlapping lifetimes may have the same id() value.
CPython implementation detail: This is the address of the object in memory.

说起这个函数就需要先了解pyhton的变量存储机制了:
变量:是动态变量,不用提前声明类型。

当我们写:a = 'ABC'时,Python解释器干了两件事情:

  1. 在内存中创建了一个'ABC'的字符串;
  2. 在内存中创建了一个名为a的变量,并把它指向'ABC'。

id(a)读取的是a的内存地址

程序范例

def addElement(_list):print(6,id(_list))_list.append(0)print(7,id(_list))return _listif __name__=="__main__":list1=[1,2,3]print(1,id(list1))list2 = addElement(list1)print(2,list1)print(3,id(list1))print(4,list2)print(5,id(list2))

执行结果:

(1, 48757192L)
(6, 48757192L)
(7, 48757192L)
(2, [1, 2, 3, 0])
(3, 48757192L)
(4, [1, 2, 3, 0])
(5, 48757192L)

两个要点:

  1. return语句返回后list1就已经变为其返回值而不是原来的值
  2. 自从定义后list1这个变量的本质就是一个内存盒子,传到函数里面的一直是这个变量本身,所以地址没变,最后返回的还是他,只是后面加了一个新值,而用a=b这种赋值方法后ab的内存地址是一致的。因此从头到尾list1,list2,_list内存地址都没变过

python中的id()函数及读取list的例子相关推荐

  1. Python中的id()函数_怪异现象

    python中有一个内置函数叫id(obj) ,可以获取obj在python中的实际内存,比如: >>> id(13) 8791398340000 >>> id(i ...

  2. Python中的id函数到底是什么?

    Python官方文档给出的解释是 id(object) Return the "identity" of an object. This is an integer (or lon ...

  3. id在python中是什么意思_Python中的id()函数指的什么

    Python官方文档给出的解释是 id(object) Return the "identity" of an object. This is an integer (or lon ...

  4. python中的open函数

    python中的open函数 open函数用于文件处理 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 1 文件句柄 = open('文件路径', '模式') 打开文件时,需要指 ...

  5. Python 中各种imread函数的区别与联系

    Python 中各种imread函数的区别与联系 最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误.如 ...

  6. Python中的常用函数

    1.range()是一个函数 for i in range () 就是给i赋值: 比如 for i in range (1,3): 就是把1,2依次赋值给i range () 函数的使用是这样的: r ...

  7. 【Python常用函数】一文让你彻底掌握Python中的pivot_table函数

    任何事情都是由量变到质变的过程,学习Python也不例外.只有把一个语言中的常用函数了如指掌了,才能在处理问题的过程中得心应手,快速地找到最优方案.本文和你一起来探索Python中的pivot_tab ...

  8. python中imread用法_【转载】Python 中各种imread函数的区别与联系

    Python 中各种imread函数的区别与联系 最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误.如 ...

  9. 【Python常用函数】一文让你彻底掌握Python中的enumerate函数

    任何事情都是由量变到质变的过程,学习Python也不例外.只有把一个语言中的常用函数了如指掌了,才能在处理问题的过程中得心应手,快速地找到最优方案.本文和你一起来探索Python中的enumerate ...

最新文章

  1. dbscan论文_论文分享 :Linkage Based Face Clustering via GCN
  2. 【最大流】牛棚安排(jzoj 1259)
  3. 9种动态可视化技巧,快速提升可视化大屏能力(附模板)
  4. linux 安装 php 5.2_Linux下安装PHP5.5
  5. 高德,百度,Google地图定位偏移以及坐标系转换
  6. C++_类和对象_C++运算符重载_加号运算符重载_实现两个对象相加_对象和int类型相加_通过成员函数重载+号_全局函数重载+号_以及重载_运算符重载函数实现---C++语言工作笔记055
  7. mysql主库从库在同一台服务器_MySQL_MySQL 数据库两台主机同步实战(linux),当一个从服务器连接到主服务 - phpStudy...
  8. ​新冠疫情给 CTO 们带来的几点启示
  9. 各种数据库的连接字符串
  10. python实现水仙花数
  11. Alsa是Linux高级音频接口(百度文库无下载券抄来的)
  12. opencv旋转矩形定义以及求交叉面积
  13. 警惕!关于5G的最新骗局!
  14. winedit注册码
  15. linux使用set给位置变量赋值,Linux命令(6/28)——declare/typeset命令
  16. 周星驰搞笑电影中的BT角色大全(100位)
  17. Win10显卡跑不满?是时候给系统洗洗澡了,换系统提高GPU利用率
  18. Cypher制作数据-武汉地铁二号线
  19. C# FileStream类:文件读写
  20. 计算机网络技术面试题(未完结)

热门文章

  1. [CSS3]环形进度条
  2. Linux思维导图之shell脚本编程基础、习题
  3. Spark MLlib 机器学习
  4. watchdog应用实例
  5. nodejs-Stream(流)
  6. Win64 驱动内核编程-4.内核里操作字符串
  7. Windows核心编程 第六章 线程基础知识 (下)
  8. C语言经典例27-利用递归逆序输出字符串
  9. 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( plugins 闭包代码块中引入插件 | PluginAware#apply 方法引入插件 )
  10. 【Android 事件分发】事件分发源码分析 ( ViewGroup 事件传递机制 一 )