Pyhon中的id()可以获取变量指向的内存地址,变量赋值时内存地址是不变的。对于可变数据类型,值发生改变,内存地址不变;对于不可变数据类型,值发生改变,内存地址就会发生改变。
# 定义一个变量a
a = '123'
print("变量a的内存地址为:", id(a))
# 把变量a赋值给变量b
b = a
print("将变量a赋值给变量b后,变量b的内存地址为:", id(b))
# 定义一个变量 list_var,赋值为列表 [2, 4, 6]
list_var = [2, 4, 6]
print("初始列表 [2, 4, 6] 的内存地址:", id(list_var))
# 修改列表,添加一个元素
list_var.append(8)
print("修改后列表 [2, 4, 6, 8] 的内存地址:", id(list_var))
# 定义一个变量 tuple_var,赋值为元组 (7, 9, 11)
tuple_var = (7, 9, 11)
print("初始元组 (7, 9, 11) 的内存地址:", id(tuple_var))
# 重新赋值给变量 tuple_var
tuple_var = (13, 9, 11)
print("修改后元组 (13, 9, 11) 的内存地址:", id(tuple_var))
变量a的内存地址为: 3029793538480
将变量a赋值给变量b后,变量b的内存地址为: 3029793538480初始列表 [2, 4, 6] 的内存地址: 2255113377216
修改后列表 [2, 4, 6, 8] 的内存地址: 2255113377216
初始元组 (7, 9, 11) 的内存地址: 2255114739008
修改后元组 (13, 9, 11) 的内存地址: 2255115178432