函数式编程之​传递函数

在Python中,函数可以像其他对象一样被引用、作为参数传递和存储在容器中。函数的可调用性使其独特。通过函数的引用调用它们,例如`foo()`,并可以将函数作为参数传递给其他函数,如在numconv.py示例中展示的,它接受转换函数(如`int`、`long`或`float`),并将序列中的数转换为相应的类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传递函数

当学习一门如 C 的语言时,函数指针的概念是一个高级话题,但是对于函数就像其他对象的 python 来说就不是那么回事了.函数是可以被引用的(访问或者以其他变量作为其别名),也作为参 数传入函数,以及作为列表和字典等等容器对象的元素,函数有一个独一无二的特征使它同其他对象区分开来,那就是函数是可调用的。

举例来说,可以通过函数操作来调用他们。在 python 中有其他的可调用对象。我们注意到可以用其他的变量来做作为函数的别名,因为所有的对象都是通过引用来传递的,函数也不例外。当对一个变量赋值时,实际是将相同 对象的引用赋值给这个变量。如果对象是函数的话,这个对象所有的别名都是可调用的。

>>> def foo():
... print 'in foo()'
     ...
     >>> bar = foo
     >>> bar()
     in foo()

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

稍微深入下我们引用的例子,我们甚至可以把函数作为参数传入其他函数来进行调用。

>>> def bar(argfunc): ... argfunc()
...
>>> bar(foo)
in foo()

注意到函数对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的雷神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值