闭包函数
闭包函数
定义
闭包:闭是封闭(函数内部函数),包是包含(该内部函数对外部作用域而非全局作用域的变量的引用)。闭包指的是:函数内部函数对外部作用域而非全局作用域的引用。
闭包函数:本质是一种函数传值的思想,可以将参数和函数一起返回出去
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()