python基础学习之高级拓展模块

本文深入探讨Python的高级特性,包括推导式的概念和应用,如列表、字典和集合推导式,以及生成器的详细解释,包括生成器函数和yield关键字的作用。此外,还介绍了网络爬虫的基础知识,如requests库的使用、BeautifulSoup解析网页,以及爬虫的基本流程。最后,文章涉及数据可视化的内容,特别是matplotlib库用于绘制函数图像和数据可视化的实践。
摘要由CSDN通过智能技术生成

推导式

(一)什么是推导式

〉推导式是从一个或者多个迭代器快速简洁地创建数据结构的一种方法
〉将循环和条件判断结合,从而避免语法冗长的代码
〉可以用来生成列表、字典和集合

(二)推导式基本语法

〉列表推导式

[<表达式> for <变量> in <可迭代对象> if <逻辑条件>]

〉字典推导式

{
   <键值表达式>:<元素表达式> for <变量> in <可迭代对象> if <逻辑条件>}

〉集合推导式

{
   <元素表达式> for <变量> in <可迭代对象> if<逻辑条件>}

在这里插入图片描述
在这里插入图片描述

(三)生成器推导式

〉与推导式一样语法:

(<元素表达式> for <变量> in <可迭代对象> if<逻辑条件>)

〉返回一个生成器对象,也是可迭代对象
〉但生成器并不立即产生全部元素,仅在要用到元素的时候才生成,可以极大节省内存
在这里插入图片描述

生成器函数

(一)什么是生成器

〉生成器(generator)是用来创建Python序列的一个对象
〉使用它可以迭代庞大的序列,且不需要在内存中创建和存储整个序列
〉通常生成器是为迭代器产生数据的
迭代器的一种实现

(二)生成器函数

〉如果要创建一个比较大的序列,生成器推导式将会比较复杂,一行表达式无法容纳,这时可以定义生成器函数
〉生成器函数与普通函数
生成器函数的定义与普通函数相同,只是将return换成了yield

yield与return

yield语句
① 立即返回一个值
② 下一次迭代生成器函数时,从yield语句后的语句继续执行,直到再次yield返回,或终止
return语句
终止函数的执行,下次调用会重新执行函数
〉协同程序
可以运行的独立函数调用,函数可以暂停或挂起,并在需要的时候从离开的地方继续或重新开始
〉函数even_number返回一个生成器对象
在这里插入图片描述

网络爬虫

(一)搜索引擎蜘蛛

爬虫是按照一定规则,自动地提取并保存网页中信息的程序蜘蛛沿着网络抓取猎物
通过一个节点之后,顺着该节点的连线继续爬行到下一个节点,最终爬完整个网络的全部节点
通过向网站发起请求获取资源,提取其中有用的信息

(二)requests库

Python实现的一个简单易用的HTTP库
支 持 HTTP持 久 连 接 和 连 接 池 、 SSL证 书 验 证 、cookies处理、流式上传等
向服务器发起请求并获取响应,完成访问网页的步骤
简洁、容易理解,是最友好的网络爬虫库
http请求类型
requests.request():构造一个请求
requests.get():获取HTML网页
requests.head():获取HTML网页头信息
requests.post():提交POST请求
requests.put():提交PUT请求
requests.patch():提交局部修改请求
requests.delete():提交删除请求
requests.options():获取http请求
返回的是一个response对象
response对象
包含服务器返回的所有信息,例如状态码、编码形式、文本内容等&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值