Python 中的变量是什么¶
- python 是动态语言, 变量是没有类型的
- java 中声明变量需要指定类型, 然后虚拟机根据类型申请空间, 但是 python 的变量实质是指针, 即首先生成对象然后指针指向对象。
# 不可变类型
a = 1
b = 1
print(id(a))
print(id(b)) # 相等
# 首先实例化一个int对象, 然后将变量a指向这个对象, 然后将变量b指向对象1,a和b指向的是同一个对象
# 可变类型
a = [1,2,3]
b = [1,2,3]
print(id(a))
print(id(b)) # 不相等
# 首先实例化一个list对象, 然后将a指向该对象, 然后再实例化一个list对象将b指向该对象, a和b指向的是不同的对象
# 可变类型
a=[1,2,3]
b=a
print(id(a))
print(id(b)) # 相等
# 首先实例化一个list对象, 然后将a指向该对象, 然后将a赋值给b, a和b指向的是相同的对象