赞
踩
当学习一门如 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()
注意到函数对象 foo 被传入到 bar()中。bar()调用了 foo()(用局部变量 argfunc 来作为其别名 就如同在前面的例子中我们把 foo 赋给
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。