闭包函数

闭包函数

1、什么是闭包函数?

  闭:封闭        包:包装

  比如手机是闭包函数(内层函数),被手机包装盒(外层函数)包装起来,手机可以使用包装盒中的东西,内层函数可以引用外层函数的名字

 

注意点:

  1.闭包函数必须在函数内部定义

  2.闭包函数可以引用外层函数的名字

 

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

 

(*****)闭包函数的作用:

  1.闭包函数是为了装饰器做准备

  2.减少代码冗余

  例:写一个简单的闭包函数

# 通过闭包函数传参
def
func(y): x = 100 def inner(): # inner就是闭包函数 print(x) print(y) return inner inner = func(200) inner()

 

 

2、闭包函数的应用

  (*****)为了装饰器做准备

 

例子一:普通函数直接传参数

import requests
url = "https://www.baidu.com/"
def spider_func(url):
    response = requests.get(url)
    if response.status_code == 200:
        print(response.text)
        print(len(response.text))

spider_func(url)

 

例子二:闭包函数接收url地址,执行爬取函数

import requests
def spider_outer(url):
    def spider_inner():
        response = requests.get(url)
        if response.status_code == 200:
            print(response.text)
            print(len(response.text))
    return spider_inner

spider_baidu = spider_outer("https://www.baidu.com/")
spider_baidu()
posted @ 2020-10-10 18:01  chchcharlie、  阅读(125)  评论(0编辑  收藏  举报