传递函数

函数是可以被引用的(访问或者其他变量作为其别名),也可作为参数传入函数。

因为所以的对象都是通过引用来传递的,函数也不例外。

当对一个变量赋值时,实际是将相同对象的引用赋值给这个变量。

如果对象是函数的话,这个对象所有的别名都是可调用的。

>>> bar=foo
>>> bar
<function foo at 0x02F9D8A0>
>>> bar()
in foo()

当我们把foo()赋值给bar()时,bar和foo引用了同一个函数对象,所以能以和foo()相同的方式来调用bar()。


我们也可以把函数作为参数传入其他函数来进行调用。

>>> def bar(argfunc):
    argfunc()

    
>>> bar(foo)
in foo()

注意到函数对象foo被传入到bar()中,bar()调用了foo()。


传递和调用内建函数(numConv.py)

#!/user/bin/env python

def convert(func,seq):
    'conv. sequence of numbers to same type'
    return [func(eachNum) for eachNum in seq]

myseq = (123,45.67,-6.2e8,99999999)
print(convert(int ,myseq) )
print(convert(float,myseq))
如果我们运行这个程序,将会得到如下输出

[123, 45, -620000000, 99999999]
[123.0, 45.67, -620000000.0, 99999999.0]



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值