• 函数内部可以再次定义函数
  • 要执行函数,必须调用
def func1():
    print('alex')

    def func2():
        print('eric')

    func2() #如果没有这一句,不会print('eric'),只print('alex')

func1()

下面在两个不同位置对age赋值,输入结果一致,均为  73

age = 19
def func1():
    age = 73
    def func2():
        print(age)
    # age = 73?
    func2()
func1()

下面,会报错,因为func2调用时向前寻找age出现混乱

age = 19
def func1():
    def func2():
        print(age)

    func2()
    age = 73

func1()

下面,输出结果为  73  73

age = 19
def func1():
    global age
    def func2():
        print(age)
    age = 73
    func2()

func1()
print(age)