面试题答案
一键面试- 变化情况阐述:
- 在Python中,当一个对象被创建时,
id()
函数返回一个唯一标识该对象的整数值,这个值在对象的生命周期内通常是不变的。 - 当对象被销毁(例如不再有任何引用指向它,被垃圾回收机制回收),这个对象的
id
所代表的内存空间被释放,该id
也就失去了意义,后续新创建的对象可能会被分配到这块释放的内存空间,但会有新的id
值。
- 在Python中,当一个对象被创建时,
- 举例说明:
# 创建一个整数对象
num = 10
print(f"对象num创建后的id: {id(num)}")
# 重新赋值,旧的整数对象(值为10)如果没有其他引用,会被销毁,新对象(值为20)创建
num = 20
print(f"对象num重新赋值后的id: {id(num)}")
上述代码中,首先创建了值为10的整数对象,打印其id
,然后重新赋值为20,此时旧的对象(值为10)如果没有其他引用会被销毁,新的对象(值为20)创建,再次打印id
,两次id
值通常不同(在CPython实现中是这样,某些特殊情况或其他Python实现可能有差异)。