python中的变量引用小结

Posted 朱砂痣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的变量引用小结相关的知识,希望对你有一定的参考价值。

python的变量都可以看成是内存中某个对象的引用。(变量指向该内存地址存储的值)

1.python中的可更改对象和不可更改对象

python中的对象可以分为可更改(mutable)对象与不可更改(immutable)对象

  • strings, tuples, 和numbers是不可更改的对象
  • list,dict等则是可以修改的对象。 如果某个变量指向不可更改的对象,则重新赋值时。原对象被抛弃,变量会指向一个新对象。 若指向的是可更改的对象,则重新赋值时,会也会重新赋值内存中对象的值。

如图:nfoo是numbers为不可更改对象,lstFoo是list为可更改对象 

当重新赋值时,发生的改变如下图

 注意若lstFoo整个list变量重新赋值,则还是新开辟一个内存对象,lstFoo再指向新的内存对象 ### 2.python的函数是引用调用,还是传值调用?

在函数参数传值时,变量也是内存对象的引用。 当对象为可更改对象时,是引用调用,函数内参数的改变会影响到原始对象。 当对象为不可更改对象时,就只是相当于传值调用。

以上是关于python中的变量引用小结的主要内容,如果未能解决你的问题,请参考以下文章

Python基础小结

OOP类与对象小结

Python中的变量引用对象需注意的几点

JavaScript系统学习小结——变量作用域和内存问题

python中变量的引用、可变和不可变类型、局部变量和全局变量

Python基础之变量进阶