python实现c语言函数与变量跟踪,python 像C语言样的函数参数引用实现..

def test():

t1 = "123123"

t2 = "test"

t3 = 122

t4 = 1.12

return t1, t2, t3, t4

t1, t2, t3, t4 = test()

print t1, t2, t3, t4

这种方式不是很好看,还可以采用其他的方法:

1)  上面说的函数返回值,可以说成使用元祖返回的方式。

2)通过可变化的对象(list)

def func1(a):

a[0] = 'new-value' # 'a' references a mutable list

a[1] = a[1] + 1 # changes a shared object

3) 通过字典(dict)

def func3(args):

args['a'] = 'new-value' # args is a mutable dictionary

args['b'] = args['b'] + 1 # change it in-place

4)通过类的对象

class callByRef:

def __init__(self, **args):

for (key, value) in args.items()://args是个dict

setattr(self, key, value)//相当于 self.key=value

def func4(args):

args.a = 'new-value' # args is a mutable callByRef

args.b = args.b + 1 # change object in-place

args = callByRef(a='old-value', b=99)

func4(args)

print args.a, args.b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值