本文共 422 字,大约阅读时间需要 1 分钟。
在python中当我们创建一个新变量并赋值时,实际上我们是创建了一个object和一个reference。注意不同类型的对象有不同的处理方式:
字符串、数字等不可变类型在内存中对应的是同一个对象,只是使用了不同的reference指向这个对象(id的作用是指出reference所指向的内存地址)
a=1b=1print(id(a))print(id(b))输出:140709768500032140709768500032a='test string'b='test string'print(id(a))print(id(b))输出:14990387432161499038743216
·列表、字典等可变类型在内存中对应的是不同的对象,这表明python会在内存中为可变数据类型开辟新的内存空间
a=[1,2,3]b=[1,2,3]print(id(a))print(id(b))输出:21390093440722139009344136
转载地址:http://prvx.baihongyu.com/