python全栈闯关--10-三、闭包

一、定义闭包

嵌套函数,内部函数调用外部函数的变量,叫作闭包函数

# 嵌套函数,内部函数调用外部函数的变量
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

相关文章
相关标签/搜索