python异常处理机制 1. 前言 在自己摸索开发的过程中,程序运行时难免会碰到一些错误,尤其当前后端交互时出现各种资源问题,例如404,500等,在写前端代码的时候,就深知异常处理机制是十分重要的,因此在学习python时,有必要去学习一下Python程序的异常处理机制。 当Python程序遇到一些错误,例如除数为 0、年龄为负数、数组下标越界等,这些错误如果不能发现并加以处理,很可能会导致程序崩溃。处理异常机制的存在,可以让我们捕获并处理这些错误,让程序继续沿着一条不会出错的路径执行。 可以简单的理解异常处理机制,就是在程序运行出现错误时,让 Python 解释器执行事先准备好的除错程序,进而尝试恢复程序的执行。 借助异常处理机制,甚至在程序崩溃前也可以做一些必要的工作,例如将内存中的数据写入文件、关闭打开的文件、释放分配的内存等。 Python 异常处理机制会涉及 try、except、else、finally 这 4 个关键字,同时还提供了可主动使程序引发异常的 raise 语句。 2. 常见的异常类型 编写程序时遇到的错误大致分为两类:语法错误 和 运行时错误。 2.1 语法错误 语法错误,也就是解析代码时出现的错误。当代码不符合 Python 语法规则时,Python解释器在解析时就会报出 SyntaxError 语法错误,与此同时还会明确指出最早探测到错误的语句。例如: xxxxxxxxxx 1 1 print "Hello,World!" 我们知道,Python…
task_3 python爬虫——爬取小说(以晋江文学网为例) 前言 大创组员在学习python,2020年的大创项目需要用python获取百度迁徙网站上的数据, 因此需要让她们学会爬虫。因此这是使用晋江文学网为例的一个爬虫小练习。 对于刚学python没多久的她们,想要接触完全陌生的爬虫,必然是存在一些困难的。 此外还缺少网页开发(html)的基础,因此对于许多部分必定存在疑惑,因此在此记录一下简单爬虫的流程与笔记。 此外,由于python实在是博大精深,若想要从头开始学习,则时间不够充分,因此这里采用逆向角度, 从实际应用的角度逆向来学习python。在学习爬虫的时候也是一样,直接从源代码开始入手, 找到一个可以运行的代码,然后看懂它是如何运作的,记录自己不会的地方,并查明然后做笔记记录下来。 注:学习方法并无对错之分,只有适合于不适合。 学习流程 百度搜一篇爬小说带源代码的博客 例:https://www.jb51.net/article/167314.htm 将源代码复制下来到pycharm,修改保存路径(若有) 运行代码,若失败则尝试修复,修复不了,换博客 执行成功,则开始分析源代码 找出作者爬取小说的思路 修改相应部分,改成自己所需的网址和保存格式 源代码思路 用python打开小说网址,找到小说章节列表 获取小说章节标题,章节Url,组成章节列表 遍历章节列表,打开小说章节网址 获取小说正文内容 在指定文件夹中,创建以章节标题为名字的文本文档 在对应文档中,写入小说内容 关闭对应文档 思路解析 用python打开小说网址,找到小说章节列表 a. 网页由主要内容由html文件呈现,则只需获取html文件内容 b. 单纯获取html内容,无需登录等需要输入信息的操作,因此为Get请求 c. 使用requests库,Get请求只需几行代码。 参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1183249464292448…
python可视化——气泡图的绘制 python可视化——图的绘制(气泡图) 00 前言 大学期间毕业论文以及大创项目都使用到了python进行机器学习,虽然机器学习部分并不是很深入,但是涉及的面对于目前的我来说仍然有些广泛。除了对数据的处理让我有些吃力,绘图更是让零基础的我摸不着头脑。之前都是直接从网上搜集到的代码,也没有去深入解读每一行的意思,思来想去,这样始终不是解决问题的办法,因此,打算从目前开始好好地把绘图部分整理一下。 01 概述 气泡图(Bubble)是一种多变量图表,是散点图 的变体,也可以认为是散点图和百分比区域图的组合。 其可用于展示三个变量之间的关系,和散点图一样,绘制时将一个变量放在横轴,另一个变量放在纵轴,而第三个变量则用气泡的大小来表示。 排列在工作表的列中的数据(第一列中列出x值,在相邻列中列出相应的y值和气泡大小的值)可以绘制在气泡图中。 气泡图与散点图相似,不同之处在于:气泡图允许在图表中额外加入一个表示大小的变量进行对比,而第四维度的数据则可以通过不同的颜色来表示(甚至在渐变中使用阴影来表示)。 另一种使用气泡元素的流行方法是使用气泡地图。在气泡地图中,x和y分别代表一个地理位置的经纬坐标。在不要求定位非常精确的情况下,气泡地图可以将数据的相对集中度完美地体现在地理背景中。 此外,表示时间维度的数据时,可以将时间维度作为直角坐标系中的一个维度,或者结合动画来表现数据随着时间的变化情况。 气泡图通常用于比较和展示不同类别圆点(这里我们称为气泡)之间的关系,通过气泡的位置以及面积大小。从整体上看,气泡图可用于分析数据之间的相关性。 但需要注意的是,气泡图的数据大小容量有限,气泡太多会使图表难以阅读。但是可以通过增加一些交互行为弥补:隐藏一些信息,当鼠标点击或者悬浮时显示,或者添加一个选项用于重组或者过滤分组类别。 最后,气泡的大小是映射面积而非半径或直径,如果是基于半径或者直径,圆的大小不仅会呈现指数级的变化,而且还会导致视觉上的误差。如图1所示。 ▲图1 气泡图 02 Matplotlib 由于是零基础,所以直接使用现成的库会轻松很多,先从Matplotlib库开始介绍一些必要的参数吧。 贴上详细的介绍:Matplotlib 教程 介绍 Matplotlib 可能是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。这里将会探索 matplotlib 的常见用法。 pylab pylab 是…
python学习笔记 python学习笔记 python学习笔记基础语法部分语法输出语句利用命令行运行文件常见错误注释单行注释(行注释)多行注释(块注释)运算符变量变量定义变量类型不同类型变量之间的计算变量的输入类型转换函数变量的格式化输出标识符关键字命名规则驼峰命名法逻辑判断(if)判断的定义逻辑运算if进阶elifif 的嵌套随机数的处理运算符01. 算数运算符02. 比较(关系)运算符03. 逻辑运算符04. 赋值运算符05. 运算符的优先级循环基本使用while 语句基本语法for语句基本语法Python 中的计数方法break 和 continue循环嵌套字符串中的转义字符函数函数的定义函数调用函数的文档注释函数参数的使用参数的作用形参和实参函数的返回值函数的嵌套调用函数的模块化使用第一个模块体验模块名也是一个标识符函数进阶01. 函数参数和返回值的作用02. 函数的返回值03. 函数的参数不可变和可变的参数缺省参数多值参数(知道)04. 函数的递归4.1 递归函数的特点4.2 递归案例 —— 计算数字累加高级变量类型目标知识点回顾01. 列表1.1 列表的定义1.2 列表常用操作1.3 del 关键字(科普)1.4 关键字、函数和方法(科普)1.5 循环遍历1.6 应用场景 02. 元组2.1 元组的定义创建空元组只包含一个元素2.2 元组常用操作2.3 循环遍历2.4 应用场景元组和列表之间的转换03. 字典字典的定义3.2…
python文件操作 python学习笔记——文件操作 python学习笔记——文件操作目标01. 文件的概念1.1 文件的概念和作用1.2 文件的存储方式文本文件和二进制文件02. 文件的基本操作2.1 操作文件的套路2.2 操作文件的函数/方法2.3 read 方法 —— 读取文件文件指针(知道)2.4 打开文件的方式2.5 按行读取文件内容readline 方法2.6 文件读写案例 —— 复制文件小文件复制大文件复制03. 文件/目录的常用管理操作文件操作目录操作04. 文本文件的编码格式(科普)4.1 ASCII 编码和 UNICODE 编码ASCII 编码UTF-8 编码格式4.2 Ptyhon 2.x 中如何使用中文unicode 字符串 目标 文件的概念 文件的基本操作 文件/文件夹的常用操作 文本文件的编码方式…
python爬虫 python爬虫之旅 python爬虫之旅什么是爬虫?爬虫的种类通用爬虫聚焦爬虫原理HTTP和HTTPSHTTP工作原理HTTP的请求与响应浏览器发送HTTP请求的过程:HTTP请求主要分为Get和Post两种方法常用的请求报头1. Host (主机和端口号)2. Connection (链接类型)3. Upgrade-Insecure-Requests (升级为HTTPS请求)4. User-Agent (浏览器名称)5. Accept (传输文件类型)6. Referer (页面跳转处)7. Accept-Encoding(文件编解码格式)8. Accept-Language(语言种类)9. Accept-Charset(字符编码)10. Cookie (Cookie)11. Content-Type (POST数据类型)urllib2库的基本使用urlopenRequestUser-Agent添加更多的Header信息GET和POST方法urllib.urlencode()Get方式批量爬取贴吧页面数据POST方式:欧陆词典翻译网站:Get 和 Post请求的区别:练习 什么是爬虫? 所谓爬虫,就是指程序员利用代码模拟用户正常使用浏览器访问服务器,快速高效地获取信息。通俗点,因为网页上的有用信息太多,用户单个页面操作花费的时间成本太高,因此爬虫即是帮助人们获取网页上的指定信息的工具。 需要注意的是,由于使用代码爬虫爬网站数据时,会给网站增加许多负荷,容易造成网站瘫痪,因此很多网站都会进行反爬虫设置。例如同一ip很短时间内访问太多次数,有可能会被该网站的服务器封掉ip,即本机网络无法再访问该站点。因此在进行网络爬虫时,应尽力模仿用户使用浏览器,让站点的服务器认为这是正常的用户使用网页,而不是爬虫。 爬虫的种类 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 是…
python面向对象 python面向对象 python面向对象01. 面向对象基本概念1.1 过程和函数(科普)1.2 面相过程 和 面相对象 基本概念1) 面相过程 —— 怎么做?2) 面向对象 —— 谁来做?02. 类和对象的概念1.1 类1.2 对象03. 类和对象的关系04. 类的设计大驼峰命名法3.1 类名的确定3.2 属性和方法的确定05. 面向对象的基本语法1. dir 内置函数(知道)2. 定义简单的类(只包含方法)2.1 定义只包含方法的类2.2 创建对象2.3 第一个面向对象程序引用概念的强调案例进阶 —— 使用 Cat 类再创建一个对象3. 方法中的 self 参数3.1…
Python对excel文档的操作方法详解 Python对excel文档的操作方法详解 Python对excel文档的操作方法详解1.获取excel中的数据1.打开excel文档2.获取所有的sheet表3.获取指定的sheet表:4.获取指定sheet的名字、行数、列数5.获取sheet的内容读取excel的例子:2.xlwt excel文档的生成1.创建工作簿2.创建sheet3.在每一个sheet中可以增加内容: pip安装python库:(linux命令行输入不要在ide输入) 1pip install xlrd 2 pip install xlwd 1.获取excel中的数据 利用xlrd模块读取并简单操作excel文档: 1.打开excel文档 21import xlrd 2 workbook = xlrd.open_workbook("test_case.xlsx") 2.获取所有的sheet表 11sheet_name = workbook.sheet_names() 返回类型为所有sheet名字组成的列表list 3.获取指定的sheet表: 1)根据sheet的sheet_by_index属性索引获取 2)根据sheet的sheet_by_name属性名字获取 4.获取指定sheet的名字、行数、列数 调用指定sheet的name、nrows、ncols 5.获取sheet的内容 将每一个表单看出一个二维数组,按照行列坐标的方式访问指定内容 eg: 获取第0行第1列数据:sheet.row(0)[1].value 相当于第0行的第一个元素…