高階函數除了把函數做爲參數外,還能夠把函數做爲返回值。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