Python中的id()函数指的什么
作者:djskl 发布时间:2022-01-14 12:38:04
标签:python,id,函数
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是内存中的比较,而==是值的比较
总结
以上所述是小编给大家介绍Python中的id函数网站的支持!
来源:http://blog.csdn.net/djskl/article/details/25886187
0
投稿
猜你喜欢
- 1.JOIN和UNION区别 join 是两张表做交连后里面条件相同的部分记录产生一个记录集, union是产生的两个记录集(字段要一样的)
- 与没有数据库的网站相比,数据库的存取会降低你的系统性能。但是大多数情况下,网站和数据库有密不可分的关系,正是数据库给站点提供了大容量、多样性
- 1.软件环境Windows10 教育版64位Python 3.6.32.问题描述我们在定义一个函数或者是调用一个函数的时候,总是希望能够知道
- PHP hex2bin() 函数实例把十六进制值转换为 ASCII 字符:<?php echo hex2bin("48656
- 代码实现:<!DOCTYPE html><html lang="en"><head>
- 我们在开发程序的时候,有时候需要开发一些自动化的任务,执行完之后,将结果自动的发送一份邮件,python发送邮件使用smtplib模块,是一
- 场景分析一般Linux系统默认自带两个版本的python,我按照的虚拟机系统自带的版本为python2.7和python3.2,但是由于个人
- 1. TVP, 表变量,临时表,CTE 的区别 TVP和临时表都是可以索引的,总是存在tempdb中,会增加系统数据库开销,而表变量和CTE
- 代码如下:USE [tempdb] GO /****** Object: UserDefinedFunction [dbo].[fun_ge
- 使用字符串时,常见的操作之一是使用给定的分隔符将字符串拆分为子字符串数组。在本文中,我们将讨论如何在Python中拆分字符串。.split(
- var getWindow = function(obj) { var&nbs
- 本文实例讲述了Python写入CSV文件的方法。分享给大家供大家参考。具体如下:# _*_ coding:utf-8 _*_#xiaohei
- 1:构图图形的层次感图形和元素之间的层次感,可以在干扰视觉的同时,突出自身所想体现的主题,这种表现方式往往是比较直接而且有效的方式。我们所说
- 好了,下面就是满足你设想的几个主程序,你还可以在实际应用中不断完善和扩充:login.asp' 考生验证<%@&nb
- 1、可以在mode参数中添加'b'字符。所有适合文件对象的相同方法。然而,每种方法都希望并返回一个bytes对象。>&
- 本文实例为大家分享了python sort、sort_index的具体代码,供大家参考,具体内容如下对Series进行排序#生成序列objo
- php循环输出26个大小写英文字母for($i=65;$i<91;$i++){ echo strtolower(chr($
- 本文实例讲述了Python使用chardet判断字符编码的方法。分享给大家供大家参考。具体分析如下:Python中chardet 用来实现字
- 没注意到MooTools的Cookie类在写的时候自己做了一次encode,在读的时候做了一次decode,在一般的情况下,这个不会有什么问
- 如下所示:>>> import numpy as np>>> x = np.array([1, 2])&