当前位置: 首页 > 面试题库 >

Python-id()函数的作用是什么?

况景龙
2023-03-14
问题内容

我阅读了Python 2文档并注意到该id()功能:

返回对象的“身份”。这是一个整数(或长整数),在该对象的生存期内,此整数保证是唯一且恒定的。具有不重叠生存期的两个对象可能具有相同的id()值。

CPython实现细节:这是对象在内存中的地址。

因此,我通过使用id()列表进行了实验:

>>> list = [1,2,3]
>>> id(list[0])
31186196
>>> id(list[1])
31907092 // increased by 896
>>> id(list[2])
31907080 // decreased by 12

函数返回的整数是多少?它与C中的内存地址同义吗?如果是这样,为什么整数不对应于数据类型的大小?

id()在实践中何时使用


问题答案:

你的帖子问了几个问题:

  • 该函数返回的数字是多少?

它是“ 一个整数(或长整数),在此对象的生存期内,保证它是唯一且恒定的。 ” (Python标准库-内置函数)一个唯一的数字。仅此而已。可以将其视为Python对象的社会保险号或员工ID号。

  • 与C中的内存地址是否相同?

从概念上讲,是的,因为它们在生命周期中都被保证在宇宙中是独一无二的。在Python的一种特定实现中,它实际上是相应C对象的内存地址。

  • 如果是,为什么数字不立即随数据类型的大小增加(我假设它是整数)?

因为列表不是数组,列表元素是引用,而不是对象。

  • 我们什么时候真正使用id( )功能?

几乎没有。id()(或其等效项)在is运算符中使用。



 类似资料:
  • 本文向大家介绍Python中的id()函数指的什么,包括了Python中的id()函数指的什么的使用技巧和注意事项,需要的朋友参考一下 Python官方文档给出的解释是 id(object) Return the “identity” of an object. This is an integer (or long integer) which is guaranteed to be uniqu

  • 问题内容: 我已经使用了numpy库中的zip()函数对元组进行排序,现在我有了一个包含所有元组的列表。从那以后,我修改了该列表,现在我想恢复元组,以便可以使用我的数据。我怎样才能做到这一点? 问题答案: lst1, lst2 = zip(*zipped_list) 应该给您解压缩的列表。 解压缩zipped_list对象。然后,它将所有元组从zipped_list对象传递到zip,zip将它们打

  • 本文向大家介绍是否使用过functools中的函数?其作用是什么?相关面试题,主要包含被问及是否使用过functools中的函数?其作用是什么?时的应答技巧和注意事项,需要的朋友参考一下 用于修复装饰器  

  • 问题内容: Python源目录中的init.py用于什么? 问题答案: 它曾经是软件包的必需部分(旧的3.3之前的“常规软件包”,而不是较新的3.3+“命名空间软件包”)。 这是文档。 Python定义了两种类型的程序包,常规程序包和名称空间程序包。常规软件包是Python 3.2及更早版本中存在的传统软件包。常规软件包通常实现为包含文件的目录。导入常规程序包时,将隐式执行此文件,并将其定义的对象

  • 本文向大家介绍什么是数组,它的作用是什么?,包括了什么是数组,它的作用是什么?的使用技巧和注意事项,需要的朋友参考一下 数组是一个数据容器,其中包含固定长度的同类数据类型的元素。它用于存储相同数据类型的元素。 示例 输出结果

  • 本文向大家介绍什么是虚函数?什么是抽象函数?相关面试题,主要包含被问及什么是虚函数?什么是抽象函数?时的应答技巧和注意事项,需要的朋友参考一下 答: 虚函数:没有实现的,可由子类继承并重写的函数。Virtual CallSomeOne(); 抽象函数:规定其非虚子类必须实现的函数,必须被重写。public abstract void CallSomeOne();