函数的嵌套 && 闭包函数

函数的嵌套定义: 

定义:在在函数内部定义函数

 

ps:函数的名称空间在定义的时候产生

def index():
    def home():
        print("from home")
    home()
index()

函数的嵌套调用:在函数内调用函数:

原则:1.先定义,后调用,不调用,不执行        实质:先预读函数 不会执行 ,一旦调用,则会执行

def func():
def index():
print('from index') index()
print('from func') func()

2.闭包函数

1.定义在函数内部的函数
2.该函数的函数体代码包含对外部作用域(而不是全局组用域)名字的引用
3.通常将闭包函数return返回,然后可以任意使用


def outer():
  x = 1
def inner():
    print(x)
return inner
f = outer()


闭包函数的好处:新的一种传参方式:
def outer(url):
  def get():
    response = requests.get(url)
    if response.status_code == 200:
      print(response.text)
  return get
baidu = outer('https://www.baidu.com')
baidu()
原文地址:https://www.cnblogs.com/bigbox/p/11837586.html