传递函数-数字图像处理_第三版_中文_冈萨雷斯
11.4传递函数当学习一门如C的语言时,函数指针的概念是一个高级话题,但是对于函数就像其他对象的python来说就不是那么回事了.函数是可以被引用的(访问或者以其他变量作为其别名),也作为参数传入函数,以及作为列表和字典等等容器对象的元素函数有一个独一无二的特征使它同其他对象区分开来,那就是函数是可调用的。举例来说,可以通过函数操作来调用他们。(在python中有其他的可调用对象。更多信息,参见14章)在以上的描述中,我们注意到可以用其他的变量来做作为函数的别名因为所有的对象都是通过引用来传递的,函数也不例外。当对一个变量赋值时,实际是将相同对象的引用赋值给这个变量。如果对象是函数的话,这个对象所有的别名都是可调用的。 >>> 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赋给bar一样)。现在我们来研究下一个更加实际的例子, numconv.py,代码在例子11.3中给出例11.3传递和调用(内建)函数(numConv.py)
4.23MB
文件大小:
评论区