py11-函数对象

1、函数对象

  函数是第一类对象,即函数可以当做数据传递

2、函数对象作用

  1、可以被赋值

  2、可以当作参数传递

  3、可以当作函数的返回值

  4、可以当作容器类型的元素

3、函数对象作用示例:

  1、赋值:

def foo():
    print('from foo')
f=foo
print(f)
f()

   2、当作参数传入

def foo():
    print('from foo')

def wrapper(func):
    print(func)
wrapper(foo)

   3、可以当作函数的返回值

def foo():
    print('from foo')

def wrapper(func):
    print(func)
wrapper(foo())

  4、函数调用

def foo():
    print('from foo')

def wrapper(func):
    foo()
wrapper(foo)

   5、可以当作容器类型的元素

def foo():
    print('from foo')

def wrapper(func):
    return func
cmd_dir={'func':foo}
print(cmd_dir)
cmd_dir['func']()

 

posted @ 2017-08-04 10:10  sysgit  阅读(222)  评论(0编辑  收藏  举报