函数的嵌套定义:
定义:在在函数内部定义函数
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()