11.4 传递函数:

11.4 传递函数:

当学习一门如C的语言时,函数指针的概念是一个高级话题,但是对于函数就像其他对象的

Python来说就不是那么回事了。

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

字段等等容器对象的元素。

因为所有的对象都是通过引用来传递的,函数也不列外。当对一个变量赋值时,实际是将

相同对象的引用赋值给这个变量。

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

C:\Python27\python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/eee/a3.py
in foo()


def foo():
    print 'in foo()'

def bar(xx):
    foo()
print bar(foo)

C:\Python27\python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/eee/a3.py
in foo()
None

一个将函数作为参数传递,并在函数体内调用这些函数,更加实际的例子。这个脚本用传入的

转换函数简单将一个序列的数转化为相同的类型。

def convert(func,seq):
     print func(seq)
     print type(func(seq))
a=123
print type(a)
print convert(str,a)



C:\Python27\python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/eee/a4.py
<type 'int'>
123
<type 'str'>
None

猜你喜欢

转载自blog.csdn.net/zhaoyangjian724/article/details/80062709