python中的id()函数及读取list的方法介绍(代码示例)


当前第2页 返回上一页

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

  1. 在内存中创建了一个'ABC'的字符串;

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

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

程序范例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

def addElement(_list):

    print(6,id(_list))

    _list.append(0)

    print(7,id(_list))

    return _list

 

if __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

2

3

4

5

6

7

(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的方法介绍(代码示例)的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

Python命令行参数是什么

Python生成任意范围任意精度的随机数的方法

如何离开/退出/停用Python的virtualenv

Python的int是什么

Python os.dup2() 方法是什么? os.dup2能起到什么作用?

pandas 最详细教程

Python 列表推导式使用注意事项

实例详解利用Python暴力破解zip文件口令的方法

如何用Python计算圆周率?

Python类能调用实例方法吗

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...