练习 1
题目:定制一个递减迭代器案例。
可参考步骤:
• 编写迭代器,通过循环语句,对某个正整数,依次递减1,直到0.
• 实现类 Descrease
,继承 Iterator
对象,重写两个方法
• __iter__
• __next__
练习 2
题目:将以下代码进行优化,节省内存。
def accumulate_div(a):
if a is None or len(a) == 0:
return []
rtn = [a[0]]
for i in a[1:]:
rtn.append(i*rtn[-1])
return rtn
rtn = accumulate_div([1, 2, 3, 4, 5, 6])
print(rtn)
----------------------------------------------
[1, 2, 6, 24, 120, 720]
练习 3
如下列表:
li1 = ['I','love']
li2 = ['python']
li3 = ['very', 'much']
使用高效节省内存方式将其输出结果如下:
I
love
python
very
much
练习 4
以下,对斗图网的表情包抓取详情代码。但是这还不够,请大家通过多任务来实现数据的抓取。
import requests
from lxml import etree
import os
from time import *
# 16.定义开始时间
start = time()
# 6.执行该解析网页函数
def parse_page(url):
# 7.定义请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'
}
# 8.对传进来的url发送请求
response = requests.get(url, headers=headers)
# 9.接收请求内容->字符串
text = response.text
# 10.使用xpath提取图片,并且过滤gif动图
html = etree.HTML(text)
imgs = html.xpath('//div[@class="page-content text-center"]//img[@class!="gif"]'