问答详情

python的id函数如何运行

421次观看
标签: 函数 python id
老师回答

id(object)

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

Python版本: Python2.x Python3.x

Python英文官方文档解释:

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.

注:一个对象的id值在CPython解释器里就代表它在内存中的地址(Python的c语言实现的解释器)。

代码实例: 

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值

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

免费直播

    精选课程
    相关推荐
    python中append()和extend()有什么区别?
    刘老师 Python编程

    python列表中,append()和extend()都可以在在原有列表上增加对象,但是使用起来有很大区别。append()用于在列表末尾添加新的对象,任意对象都是可以的,列表只占一个索引位,会修改原来的列表。extend()向列表尾部追加一个列表,对象必须是一个可以迭代的序列,将列表中的每个元素都追加进来,会在已存在的列表中添加新的列表内容。详情请看本文。

    一、append()

    用于在列表末尾添加新的对象,列表只占一个索引位,在原有列表上增加。

    1、语法

    list.append(obj)

    2、参数obj 

    向列表中添加一个对象obj ,即添加到列表末尾的对象;

    任意对象都是可以的;

    直接将整个obj放入列表末尾。

    3、返回值

    无返回值,但是会修改原来的列表。

    4、使用实例

     lia.append(lib)
     lia>>   ['aa', 1, 'bb', None, ['cc', 2, {'dd': 3}]]

    二、extend() 

    向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加。

    1、语法

    list.extend(seq)

    2、参数seq 

    把一个序列seq的内容添加到列表中,即元素列表;

    对象必须是一个可以迭代的序列;

    将seq打散后依次放入列表末尾。

    3、返回值

    无返回值,但会在已存在的列表中添加新的列表内容。

    4、使用实例

    lia.extend(lib)      不能用变量接收
    
    lia>>  ['aa', 1, 'bb', None, 'cc', 2, {'dd': 3}]

    以上就是python中append()和extend()的对比分析,希望能对你有所帮助哦~

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司