def f(n): return n*n def foo(a,b,func): return func(a)+func(b) print(foo(1,2,f))
func加()代表调用
func不加()代表变量
f代表的一个变量名指向函数对象
1)函数名可以进行赋值
2)函数名可以作为函数参数
3)函数名也可以作为函数的返回值
def foo3(): def inner(): return 8 return inner ret=foo3() print(ret) #<function foo3.<locals>.inner at 0x00000296741BAB70> print(ret()) #8