iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中的id函数到底是什么?
  • 407
分享到

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

到底是什么函数Python 2023-01-31 01:01:34 407人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

python官方文档给出的解释是 id(object) Return the “identity” of an object. This is an integer (or long integer) which is guarant

python官方文档给出的解释是

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.

由此可以看出:

1、id(object)返回的是对象的“身份证号”,唯一且不变,但在不重合的生命周期里,可能会出现相同的id值。此处所说的对象应该特指复合类型的对象(如类、list等),对于字符串、整数等类型,变量的id是随值的改变而改变的。

2、一个对象的id值在CPython解释器里就代表它在内存中的地址。(CPython解释器:Http://zh.wikipedia.org/wiki/CPython)

class Obj():
    def __init__(self,arg):
        self.x=arg
if __name__ == '__main__':
    
    obj=Obj(1)
    print id(obj)       #32754432
    obj.x=2
    print id(obj)       #32754432
    
    s="abc"
    print id(s)         #140190448953184
    s="bcd"
    print id(s)         #32809848
    
    x=1
    print id(x)         #15760488
    x=2
    print id(x)         #15760464


令外,用is判断两个对象是否相等时,依据就是这个id值

class Obj():
    def __init__(self,arg):
        self.x=arg
    def __eq__(self,other):
        return self.x==other.x
    
if __name__ == '__main__':
   
    obj1=Obj(1)
    obj2=Obj(1)
    print obj1 is obj2  #False
    print obj1 == obj2  #True
    
    lst1=[1]
    lst2=[1]
    print lst1 is lst2  #False
    print lst1 == lst2  #True
    
    s1='abc'
    s2='abc'
    print s1 is s2      #True
    print s1 == s2      #True
    
    a=2
    b=1+1
    print a is b        #True
    
    a = 19998989890
    b = 19998989889 +1
    print a is b        #False

is与==的区别就是,is是内存中的比较,而==是值的比较

--结束END--

本文标题: Python中的id函数到底是什么?

本文链接: https://www.lsjlt.com/news/184615.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中的id函数到底是什么?
    Python官方文档给出的解释是 id(object) Return the “identity” of an object. This is an integer (or long integer) which is guarant...
    99+
    2023-01-31
    到底是什么 函数 Python
  • Go语言中的Load函数到底是什么?
    在Go语言中,Load函数是一个非常重要的函数。它可以加载动态链接库和自定义模块,并且在运行时动态链接它们。这使得Go语言可以在运行时动态加载程序模块,从而扩展程序的功能。 Load函数的基本语法如下: func Load(path st...
    99+
    2023-11-15
    二维码 面试 load
  • Python中的类到底是什么
    这篇文章主要介绍“Python中的类到底是什么”,在日常操作中,相信很多人在Python中的类到底是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中的类到底是什么”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-15
  • Python的优势到底是什么
    本篇内容介绍了“Python的优势到底是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python的优点简单:Python是一种代表简单...
    99+
    2023-06-02
  • Python Numpy Load API到底是什么?
    Python是一种广泛使用的编程语言,它有着强大的科学计算能力和丰富的第三方库,其中Numpy库是Python中最为重要的科学计算库之一。Numpy库提供了高效的数组操作和数学函数,使得数据处理和科学计算变得更加简单。其中,Numpy L...
    99+
    2023-09-04
    numpy load api
  • Python到底是个什么东西
     1、Python是一门脚本语言,像awk、tcl、perl、ruby一样,解释执行(可以编译缓存); 2、Python是一个绿色软件,解压即可使用,方便灵活; 3、安装一个Python库非常方便,大部分封装包都带有setup.py,只需要...
    99+
    2023-01-31
    是个什么东西 Python
  • python中np.cumsum和np.cumprod函数到底在干嘛
    这篇文章主要介绍python中np.cumsum和np.cumprod函数到底在干嘛,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!pandas.Series.cumprod 官方文档cumprod()累积连乘Seri...
    99+
    2023-06-15
  • Python打包缓存到底是什么?
    Python打包缓存到底是什么? Python是一种广泛使用的高级编程语言,其简单易用的特性受到了许多开发者的青睐。在Python开发过程中,打包和缓存是两个十分重要的概念。本文将详细介绍Python打包缓存的定义、作用、实现方法以及相关的...
    99+
    2023-08-27
    打包 缓存 编程算法
  • redis到底是什么
    redis是一个基于内存的高性能键值存储系统,具有以下特性:高性能、支持丰富数据结构、分布式、持久化、复制和多种语言支持。应用场景包括缓存、消息队列、会话管理、排行榜和限制速率。 Re...
    99+
    2024-04-02
  • javascript到底是什么
    这篇文章主要介绍“javascript到底是什么”,在日常操作中,相信很多人在javascript到底是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript...
    99+
    2024-04-02
  • 到底什么是SSL
    本篇内容介绍了“到底什么是SSL”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  什么是SSL?  SSL是一种使用TCP / IP在两个通...
    99+
    2023-06-04
  • ViewState到底是什么
    ViewState是ASP.NET Web Forms中的一个重要概念,用于在Web服务器上存储和恢复页面的状态数据。在Web应用程...
    99+
    2023-09-01
    ViewState
  • MapStruct到底是什么?
    一、简介 现在的分布式系统中模块划分越来越细,不同模块的实体、DTO、DO等需要进行转换,这么多工程处理起来不是那么简单。 MapStruct 就是这样的一个属性映射插件,用于为Ja...
    99+
    2024-04-02
  • Go 中函数类型的底层原理是什么?
    go 中的函数类型是一个具有输入参数类型和输出返回类型的元组。函数类型可以作为值或引用传递,默认情况下作为值传递,显式作为引用传递需要使用 *。在实战中,函数类型可用于创建可重用的函数,...
    99+
    2024-04-19
    底层原理 函数类型
  • python中的函数参数是什么
    这篇文章主要讲解了“python中的函数参数是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中的函数参数是什么”吧!说明函数参数,增加函数的通用性,针对相同的数据处理逻辑,可...
    99+
    2023-06-20
  • Python中的main函数是什么
    本文小编为大家详细介绍“Python中的main函数是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python中的main函数是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是 Python 函数...
    99+
    2023-07-06
  • 树莓派Python编程到底是什么?
    在学习Python编程的过程中,大家可能会接触到一个叫做树莓派的东西,那这个树莓派是什么呢?为什么要用它来做Python编程? 树莓派是个用来学习编程的优秀设备,它可以理解多种语言。第一,它很便宜。价格差不多只有低端计算机的十分之...
    99+
    2023-01-31
    到底是什么 树莓派 Python
  • 基于python详解PyScript到底是什么
    目录前言:作用使用方法总结前言: 最近 Anaconda 开大会发布了 PyScript ,它允许我们将 Python 代码嵌入到 HTML 中,并在浏览器中允许。PyScript ...
    99+
    2024-04-02
  • Live-USB到底是什么
    本篇文章给大家分享的是有关Live-USB到底是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们平时所说的“U 盘”,正式名称是“USB闪存驱动器”(USB Flash ...
    99+
    2023-06-16
  • C++ set到底是什么
    目录1、set是什么2、set有什么用1、set是什么 如果大家学过几门编程语言,会发现各大语言的特性虽然迥异,但是总有几个东西反复出现刷存在感。它们在各个语言当中的名字虽然不太一样...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作