一、定義閉包
嵌套函數,內部函數調用外部函數的變量,叫作閉包函數
# 嵌套函數,內部函數調用外部函數的變量 def outer(): a = 1 def inner(): print(a) inner() outer()
二、閉包的應用url
# 把內部函數返回,在外部調用避免重複的釋放和建立變量a def outer(): a = 1 def inner(): print(a) return inner f = outer() f()
執行過程當中,a=1在外部變量建立一次後,因爲內部引用的存在,一直未消失。spa
避免了a在運行過程當中,重複建立、重複釋放code
三、閉包簡單應用blog
from urllib.request import urlopen def get_url(): url = 'https://www.baidu.com/' def get(): ret = urlopen(url).read() print(ret) return get get_func = get_url() get_func()
屢次引用時,能夠避免重複建立、釋放urlget