9月19日闭包函数

闭包函数

是函数传值的另一种方法(参数+函数包在一起返回出去),通俗一点就是把一个函数作为一个变量来使用。且建立一个闭包函数必须满足的标准如下

必须有一个嵌套函数(函数内部的函数)。嵌套函数必须引用封闭函数中定义的值。闭包函数必须返回嵌套函数

例子

def f2(x):#将这个整体当做变量
    def f1():#这里是嵌套函数
        print(x)
    return f1#这一步满足了闭包函数返回值必须是嵌套函数的值
f1_1=f2(1)# f2(1)=f1,f1_1=f1+x=1,同时给这个变量赋予名称
f1_1()
f3=f2(3)#f2(3)=f1,f3=f1+x=3
f3()

上面的代码是基本的闭包函数框架,其中f2(x)就相当于一个变量,f1在其中就充当了一个功能说明,而f1_1和f3就相当于使用

爬虫例子

import requests#这里引用requests库,此库用于爬虫
def outter(ur1):#这里函数小括号里的ur1可以暂时理解为抓取,但这里整体作为了参数中的形参使用
    def get_res():
        res=requests.get(ur1)
        print(res.text)
    return get_res
baidu_dizhi=outter('https://www.baidu.com/')#这里就是给形参赋予实参
baidu_dizhi()
taobao_dizhi=outter('https://www.taobao.com/')
taobao_dizhi()

posted @ 2023-09-19 10:43  scxlzb  阅读(15)  评论(0)    收藏  举报