从品牌网站建设到网络营销策划,从策略到执行的一站式服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
这篇文章主要介绍python中传递引用的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
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类型的情况:
a是列表的情况:
以上是python中传递引用的方法有哪些的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图