跟着太白老师学python day11 闭包 及在爬虫中的基本使用

理解Python闭包
本文介绍了Python中的闭包概念,通过示例展示了闭包如何工作,解释了闭包在爬虫等场景中的应用。

闭包的基本概念: 闭包 内层函数对外层函数的变量(不包括全局变量)的引用,并返回,这样就形成了闭包

 

闭包的作用:当程序执行时,遇到了函数执行,它会在内存中开辟一个空间,如果这个函数内部形成了闭包,

那么他就不会随着函数的执行结束而消失

 

闭包的基本例子

def wrapper():
    name = 'alex'
    def inner():
        print(name)  #inner函数引用了name函数,形成了闭包
    print(inner.__closure__)
    return inner()

wrapper()

name = 'alex'
def wrapper(n):
    #将全局变量传递到函数中相当于在wrapper函数内创建:n = 'alex'
    def inner():
        print(n)
    print(inner.__closure__)  # 因此inner 也是闭包
    return inner
wrapper(name)

 

闭包在爬虫中的基本使用, 爬完一次以后,他不会随着程序的结束而消失,因为下次使用时不需要再开辟空间

from urllib.request import urlopen
def index():
    url = 'http://www.xiaohua100.cn/index.html'
    def get():
        return urlopen(url).read()
    return get



xiaohua = index()
content = xiaohua()
print(content.decode('utf-8'))

 

转载于:https://www.cnblogs.com/my-love-is-python/p/9493702.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值