闭包函数

闭包函数

定义

闭包:闭是封闭(函数内部函数),包是包含(该内部函数对外部作用域而非全局作用域的变量的引用)。闭包指的是:函数内部函数对外部作用域而非全局作用域的引用。

闭包函数:本质是一种函数传值的思想,可以将参数和函数一起返回出去

def func(x):
    def f():
        print(x)
    return f

s = func(1)   # s = f + 'x = 1' 将内嵌函数的对象和x的值返回给 s
s()  # 1

应用

闭包函数之爬虫的简单应用

import requests
# 方式一:普通,每次调用都重复输入url
def get_url(url):
    print(requests.get(url).text)
# 调用三次
get_url('http://www.baidu.com')
get_url('http://www.baidu.com')
get_url('http://www.baidu.com')

# 方式二:闭包思想,输入url可重复调用
def get(url):
    def get_url():
        res = requests.get(url).text
        print(res)
    return get_url
data = get('http://www.baidu.com')
# 调用三次
data()
data()
data()
posted @ 2019-08-12 16:18  SweetJack  阅读(110)  评论(0编辑  收藏  举报