不可变变量
不可变变量是指变量的值一旦被创建,就不能被改变,即该对象所指向的内存中的值不能改变。任何对于不可变变量的修改都会创建一个新的对象。常见不可变变量变量包括:
- 数字类型(int、float、complex)
- 字符串(str)
- 元组(tuple)
- 布尔类型(bool)
# python代码示例
x=10
print(id(x))
x = x+1
print(id(x))
y = "hello"
print(id(y))
y += "world"
print(id(y))
'''代码输出:
140716648049856
140716648049888
1901896301680
1901898462576
'''
在上述示例中,当我们对整数x和字符串y进行操作时,他们的内存地址都发生了变化,这表明创建了新的对象
可变变量
可变变量是指变量的值可以在原地址直接修改,即该对象所指向的内存中的值可以被改变,而不需要开辟新的内存空间来创建新的对象,常见的可变变量包括:
- 列表(list)
- 字典(dict)
- 集合(set)
# 代码示例
lst = [1,2]
print(id(lst))
lst.append(3)
print(id(lst))
d = {"a": 1, "b": 2}
print(id(d))
d["c"] = 3
print(id(d))
'''代码输出:
1954618624768
1954618624768
1954618559360
1954618559360
'''
上述示例中,当我们修改列表lst和字典d时,他们的内存地址并没有发生变化,表明修改是在原地址进行的