day4-装饰器前戏
一、嵌套函数
1、定义
在一个函数的函数体内,用def 去声明一个函数,而不是去调用其他函数,称为嵌套函数。
def foo():
print("in the foo")
def bar(): #在foo函数体内,用def声明一个函数
print("in the bar")
bar()
#调用foo函数
foo()
#输出
in the foo
in the bar
以上是高阶函数的定义,但是我们来看看下面这种情况是不是高阶函数呐?
def bar():
print("in the bar")
def foo():
print("in the foo")
bar() #调用bar函数
foo()
很显然不是,因为只是调用了bar函数,没有用def去声明一个函数。
二、局部作用域和全局作用域的访问顺序
1、先来看一个小例子
#局部作用域和全局作用域的访问顺序
x=0
def grandpa():
x=1
def dad():
x=2
def son():
x=3
print(x)
son()
dad()
#调用grandpa
grandpa()
#输出
3
很显然最后输出的是3,这个说明作用域:只能是从里往外找,一层一层的的找。

浙公网安备 33010602011771号