美文网首页
Python 的变量类型

Python 的变量类型

作者: 一百万个不确定 | 来源:发表于2019-06-19 17:48 被阅读0次

Python 的变量类型

可变类型 / mutable

可变类型的实例,在初始化之后允许改变其值。

>>> a = []
>>> print(a)
[]
>>> a.append('new_value')
>>> print(a)
['new_value']

但注意,如果用 = 赋值,其实是改变指向,而不是改变其实例的值

>>> a=[]
>>> print(id(a))
140323581464840
>>> a.append(1)
>>> print(id(a))
140323581464840
>>> print(a)
[1]
>>> a=[1]
>>> print(id(a))
140323582166152

可以看到,使用append,并没有改变a变量的地址并且还改变了a的数值。但是使用 = 赋值,那么地址就已经发生了改变,虽然值还是一样的

不可变类型 / immutable

这种类型的实例,在初始化之后就不允许改变其值。

但是你会看到一些变量明明可以改数值,那是为什么呢?

>>> a = 3
>>> print(a)
3
>>> a = 4
>>> print(a)
4

因为实例的值不能改变,但是对象可以改变指向,在重新赋值的时候,变量已经指向了新对象

>>> a = 3
>>> print(id(a))
140323607520352
>>> a = 4
>>> print(id(a))
140323607520384

python 的可变/不可变变量表

1560851873003.png

相关文章

网友评论

      本文标题:Python 的变量类型

      本文链接:https://www.haomeiwen.com/subject/fcflqctx.html