python 脚本函数传递参数

比如这段代码:
def add(num):
 num= num+10
d=2
add(d)
print d

输出 2
如果我要像C那样传递d的地址,使之输出12,我应该怎么做?

Python的函数传递方式是赋值,而赋值是通过建立变量与对象的关联实现的

  • 执行 d = 2时,你在__main__里创建了d,并让它指向2这个整型对象。

  • 执行函数add(d)过程中:

    • d被传递给add()函数后,在函数内部,num也指向了__main__中的2

    • 但执行num = num + 10之后,新建了对象12,并让num指向了这个新对象——12。

  • 如果你明白函数中的局部变量与__main__中变量的区别,那么很显然,在__main__中,d仍在指着2这个对象,它没有改变。因此,你打印d时得到了2。

如果你想让输出为12,最简洁的办法是:

  1. 在函数add()里增加return num

  2. 调用函数时使用d = add(d)


代码如下:

def add(num):
    num += 10
    return num

d = 2
d = add(d)

print d


     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1917379,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值