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
网友评论