高阶函数除了把函数做为参数外,还能够把函数做为返回值。python
在python中,一切皆对象,函数也是对象。app
对于函数,不管是把函数赋值给新的标识符,仍是做为参数传递给新的函数,针对的都是函数对象自己,而不是函数的调用。函数
ref1 = func #将函数对象赋值给ref1 ref2 = func() #调用函数,将函数的返回值("hello,world"字符串)赋值给ref2
>>> def count():
... fs = []
... for i in range(1, 4):
... def f():
... return i * i
... fs.append(f)
... return fs
...
>>> f1, f2, f3 = count()
>>> f1()
9
>>> f2()
9
>>> f3()
9code