7.1 闭包函数
7.1 闭包函数
闭: 关闭,封闭
包:包裹,包含
闭包函数打破层级关系,把局部变量拿到全局使用,并且可以把外部变量x封装到f2中,下次不需要再调用直接使用且不会受到全局变量影响。
def f1(x):
#x=3
def f2():
print(x)
return f2
x=10
f2=f1(3)
f2()
x=8
f3=f1(5)
f3()
#全局中相同名字的变量不会影响局部变量
3
5
# 爬虫
#获取网址
import requests #相当于浏览器
#写法1
response=requests.get('https://i.cnblogs.com/posts') #拿到响应信息
response.encoding='gb123112'
data=response.text #拿到文本
print(data)
#写法2
import requests
def spider(url):
response=requests.get(url)
return response
spider('https://www.baidu.com')
spider('https://www.baidu.com')
spider('https://www.baidu.com')
spider('https://www.python.org')
spider('https://www.python.org')
spider('https://www.python.org')
#写法3
import requests
def outter(url):
def spider():
response=requests.get(url)
print(response.status_code)
return response
return spider
baidu=outter('https://www.baidu.com')
baidu()
baidu()
baidu()
200
<Response [200]>
写法3明显更简洁易懂
浙公网安备 33010602011771号