python 可以改变一个对象的id吗,或者给指定id一个对象内容???????????
直接给指定变量换对象就行啊,例如a = 10 换对象的话直接a = "111"就行
如果a和b的大小一致,那么没有问题,但是如果不一致,这么做很危险。 真想用指针之类底层的东西就直接写C代码,python又不是不支持C扩展。。
这个id是解释器来控制的 你语言层面没法直接控制
python中id不是针对这个变量,而是针对变量的值
id(100)
140579805617760
x = 100
y = 100
id(x)
140579805617760
id(y)
140579805617760对于一个值来说,当它的引用计数变为0的时候,根据值的大小或者长度,决定在内存中是否删除,
这个值在生成的时候决定了它的id
不可以的,在Python中不能改变地址的,如a = 10,此时创建了一个10的对象,a只是引用了10,不能对地址进行操作。当10的引用计数位0的时候,解释器会自动回收。
总而言之,在Python中不会涉及到内存操作,解释器会帮你搞定一切.如果一定要在Python中用指针,可以用Python的ctypes模块。
b = [1,2]
print(id(b))
def do2(list):
list[1]=0
do2(b)
print(id(b))
print(b)
修改列表的值是怎么回事呢?