美文网首页
python的赋值机制

python的赋值机制

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

python的一切是对象

不只是变量是对象,python的一切都是对象

>>> print(300)
300

这个代码会做三件事情

1,生成一个int对象

2,把300的值赋给int对象

3,在console里面打印300

可以从如下代码里面看出300为int的实例

>>> type(300)
<class 'int'>

python的赋值是传递引用

python的变量是一个符号,是实例的引用

>>> n = 300

这个语句会创造一个300的int实例,并且让变量n指向到这个实例

1560501698235.png

使用如下代码来验证想法

>>> id(300)
140261438010384
>>> n=300
>>> id(n)
140261438010384
>>> type(n)
<class 'int'>
>>> print(n)
300

可以看到 对象300的地址 和 变量n的地址是一样的

注释:id() 函数用于获取对象的内存地址。

python多变量指向同一个对象

如下代码

>>> m=n
>>> id(n)
140261438010384
>>> id(m)
140261438010384
1560502218220.png

如果重新给m赋值,那么m会把自己的指针指向新实例

>>> m=400
>>> id(m)
140261438010352
>>> id(n)
140261438010384
1560502329594.png

如果n再重新赋值,那么会没有变量指向实例300

>>> n='foo'
>>> id(n)
140261438037944
>>> id(m)
140261438010352
1560502424596.png

相关文章

网友评论

      本文标题:python的赋值机制

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