闭包函数

'''
闭包函数:
    1、闭包函数必须在函数内部定义
    2、闭包函数可以引用外层函数的名字

    闭包函数是函数对象、函数嵌套、名称空间与作用域的结合体
'''


# 直接传参
def func(x):
    print(x)


# 通过闭包函数传参

def wrapper(x):
    def inner():
        print(x)

    return inner


func = wrapper(100)  # >>返回inner的内存地址>>>>保存在func中
func()
闭包函数定义
# 闭包函数的应用

import requests


# 直接传参
def spider_func(url):
    response = requests.get(url)
    if response.status_code == 200:
        print(len(response.text))


# 闭包函数chuanc
def spider_outer(url):
    def spider_inner():
        response = requests.get(url)
        if response.status_code == 200:
            print(len(response.text))

    return spider_inner


url1 = 'https://www.baidu.com/'
url2 = 'https://www.cnblogs.com/xiaoyuanqujing'

spider_baidu = spider_outer(url1)
spider_blog = spider_outer(url2)
spider_baidu()
spider_blog()

spider_outer(url1)
闭包函数的应用
01-11 04:21