day10函数对象,嵌套,名称空间,作用域
函数对象 函数名是可以被引用: def index(): print('from index')a = index #函数名赋值给a。a() #执行a 函数名可以当做参数传递 def foo(x, y, z): print(x, y) z() def bar(): print('from bar') foo(1, 2, bar) # bar = z, z()=bar(),打印:from bar 函数名可以当作返回值使用 ***传参的时候没有特殊要求,一定不要加括号,加括号当场执行。 def index(): #第一步:定义函数没有执行 print('from index')def func(a): #第二步:定义函数 return a #第五步:输出from indexa = func(index) #第三步执行a,index = aa() #第四步执行a,相当于index(). 函数名可以被当作容器类型的元素 def func(): print('from func') #函数定义,没有执行l1 = [1, 2, 3, func, func()] #func()直接执行,打印:from funcf = l1[3] #func的出的时他的地址print(f)输出结果:from func<function func at 0x000001F8D7B63948> 函数的嵌套