zoukankan      html  css  js  c++  java
  • python中的变量引用小结

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

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

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

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

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

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

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

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

  • 相关阅读:
    mysql查看进程
    mysql case, if
    centos升级python2.7
    centos多版本python安装pip
    Python library not found: libpython2.7mu.so.1.0
    pip cannot confirm SSL certificate: SSL module is not available
    python: no module named bz2
    summary
    python生成可执行文件保护源码
    mysql 存储过程
  • 原文地址:https://www.cnblogs.com/wuzm/p/12017301.html
Copyright © 2011-2022 走看看