函数对象是一个可以赋值给变量的值, 也可以作为实参传递。 例如, do_twice 函数接受函数对象作为实参,并调用这个函数对象两次:
def do_twice(f):
f()
f()
下面这个示例使用 do_twice 来调用名为 print_spam 的函数两次。
def print_spam ():
print('spam ')
do_twice(print_spam)
- 将这个示例写入脚本,并测试。
- 修改do_twice,使其接受两个实参,一个是函数对象,另一个是值。然后调用这一函数对象两次,将那个值传递给函数对象作为实参。
- 从本章前面一些的示例中, 将 print_twice 函数的定义复制到脚本中。
- 使用修改过的 do_twice ,调用print_twice 两次,将 spam 传递给它作为实参。
- 定义一个名为 do_four 的新函数,其接受一个函数对象和一个值作为实参。调用这个函数对象四次,将那个值作为形参传递给它。函数体中应该只有两条语句,而不是四条。
|
|