python中传递引用的方法有哪些

这篇文章主要介绍python中传递引用的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联公司是一家专注于成都网站设计、网站建设与策划设计,阿克陶网站建设哪家好?创新互联公司做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:阿克陶等地区。阿克陶做网站价格咨询:18982081108

Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。

引用传参一:

>>> a = 100 #这里的a是不可变类型
>>> def test(a):
...     a+=a 
        #这个式子有两层含义:1.这里可能是重新定义一个新的变量a,2.也有可能是修改a的值,但由于全局
        #变量a不能修改,所以此处是重新定义了一个a;
...     print("函数内:%d"%a)
...
>>> test(a)
函数内:200
>>> print(a)
100

引用传参二:

>>> a = [100] #这里的a是一个列表,是可变类型
>>> def test(a):
...     a+=a #由于列表a是可变类型,所以这里是修改a
...     print("函数内:")
...     print(a)
...
>>> test(a)
函数内:
[100, 100]
>>> print(a)
[100, 100]

引用传参三:

>>> a = 100
>>> def test(a):
...     a=a+a  #最初为了好理解,所以可以认为a+=a等价于a=a+a,所以这里同引用传参一
...     print("函数内:%d"%a)
...
>>> test(a)
函数内:200
>>> print(a)
100

引用传参四:

>>> a = [100]
>>> def test(a):
        #1. 先算 =号右边的
        #2. 算出来的结果是[100,100]
        #3. a = [100,100]
        #4. 让a变量指向了[100,100],即a保存的是[100,100]的引用(内存地址)
...     a=a+a #对于这种情况,等号左边的a是重新定义的一个量,此时a=a+a与a+=a不一样
...     print("函数内:")
...     print(a)
...
>>> test(a)
函数内:
[100, 100]
>>> print(a)
[100]

事实上,我们可以通过打印相应变量的地址来帮助我们理解,例如:

a是int类型的情况:

python中传递引用的方法有哪些

a是列表的情况:

python中传递引用的方法有哪些

以上是python中传递引用的方法有哪些的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!

文章名称:python中传递引用的方法有哪些
分享路径:https://www.cdcxhl.com/article30/jjjopo.html

成都网站建设公司_创新互联,为您提供商城网站网站内链关键词优化自适应网站营销型网站建设小程序开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设