python学习笔记
文章平均质量分 69
better meˇ:)
这个作者很懒,什么都没留下…
展开
-
Python学习笔记:27 多线程
多线程是一个可以提高程序运行效率的方法。一些按顺序执行的程序可以使用多线程实现并行执行,从而提高整体效率。想要了解更多关于多线程的知识请点击:多线程实例简单使用import timefrom concurrent.futures import ThreadPoolExecutordef new_sleep(name): print(f'任务{name}休眠开始') time.sleep(5) print(f'任务{name}休眠完成')def main():原创 2021-08-22 20:24:32 · 164 阅读 · 0 评论 -
Python学习笔记:26 Python爬虫常见的坑即解决办法
前程无忧成都数据分析师招聘求职网页,爬取职位信息发现网页源码与控制台输出的源码有不同的地方,如下图所示:控制台找不到class属性值为t的p标签,那么职位信息也就不能通过元素定位来获取。解决办法是:在控制台搜索职位信息,如下图所示:发现职位信息在上图圈出的代码中,其中{}包含的部分是一个字典,字典中键为engine_search_result的值是一个列表,列表里是很多个字典,每一个字典包含一条职位信息。可以用以下代码获取职位信息。import requestsimport reimpor原创 2021-08-22 20:09:29 · 358 阅读 · 0 评论 -
Python学习笔记:25 xpath元素定位
xpathxpath:查找XML(用来存储和传输数据的)文档的语言lxml:专门用来处理XML和HTML数据的三方库etree.XML():将XML格式的字符串转换成Element对象,可以方便地使用xpath方法。etree.HTML():将HTML格式的字符串转换成Element对象,可以方便地使用xpath方法。xpath基本用法from lxml import etreexml_str = """<supermarket> <name>永辉超市&原创 2021-08-22 18:00:17 · 391 阅读 · 0 评论 -
Python学习笔记:24 Selenium的使用
基本使用创建浏览器对象并加载页面注意要将浏览器驱动放在当前项目目录下或配置环境变量。from selenium import webdriverdriver = webdriver.Chrome('chromedriver.exe')driver.get('https://www.baidu.com')设置浏览器大小两种方式:1、set_window_size方法可以指定分辨率设置窗口大小。 2、maximize_window方法可以将窗口最大化。from selenium原创 2021-08-18 17:43:16 · 425 阅读 · 0 评论 -
Python学习笔记:23 爬虫
简介网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。通过网络爬虫,我们可以爬取到网页的一些有用的信息,一个网页源代码往往很复杂,可以通过正则表达式匹配网页中我们需要的元素,以爬取到相关信息,也可以通过利用bs4库中的一些方法从网页中提取数据。一个简单的爬虫例子爬取豆瓣电影 Top 250的电影名字和图片。为了避免爬取网页时ip被封,可以将requ原创 2021-08-18 16:46:22 · 445 阅读 · 6 评论 -
Python学习笔记:22 HTML5基础和CSS基础
了解一些HTML5的基础知识和CSS基础知识有助于爬虫的学习,在学习这些基础知识之前,首先要安装HBuiderX工具。直接到官网下载标准版即可。HTML基础可以到HTML教程学习一下HTML基础知识。超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。打开HBuiderX工具,新建项目在index.html中写入如下代码:<!-- HTML:超文本标记语言 --><!-- HTML后缀名:.html /原创 2021-08-17 20:24:43 · 236 阅读 · 1 评论 -
Python学习笔记:21 正则表达式的应用
正则表达式的定义在编写处理字符串的程时,经常会遇到在一段文本中查找符合某些规则的字符串的需求,正则表达式就是用于描述这些规则的工具,换句话说,我们可以使用正则表达式来定义字符串的匹配模式,即如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替换掉。关于正则表达式的相关知识,大家可以阅读一篇非常有名的博文叫《正则表达式30分钟入门教程》,读完这篇文章后你就可以看懂下面的表格,这是我们对正则表达式中的一些基本符号进行的扼要总结。符号解释示例说明原创 2021-08-14 16:40:14 · 323 阅读 · 0 评论 -
Python学习笔记:20 Python读写Word文件和PDF文件
写Word文档使用Python写Word文档需要安装docx三方库,如下示例写了一个简单的Word文档from docx import Documentfrom docx.shared import Cm, Ptfrom docx.document import Document as Doc# 创建一个word对象document = Document() # type:Doc# font = document.styles['Normal'].font# font.size = Pt原创 2021-08-14 15:32:15 · 770 阅读 · 2 评论 -
Python学习笔记:19 Python读写Excel文件
Python操作Excel需要第三方库的支持,如果要兼容Excel 2007以前的版本,也就是xls格式的Excel文件,可以使用三方库xlrd和xlwt,前者用于读Excel文件,后者用于写Excel文件。如果使用较新版本的Excel,即操作xlsx格式的Excel文件,也可以使用openpyxl库。读写Excel文件读Excel文件例如在当前文件夹下的resources文件夹下有一个名为“阿里巴巴2020年股票数据.xls”的Excel文件,如果想读取并显示该文件的内容,可以通过如下所示的代码来完原创 2021-08-14 14:58:04 · 440 阅读 · 0 评论 -
Python学习笔记:18 文件读写和异常处理
打开和关闭文件使用Python内置的open函数来打开文件,在使用open函数时,我们可以通过函数的参数指定文件名、操作模式和字符编码等信息,接下来就可以对文件进行读写操作了。这里所说的操作模式是指要打开什么样的文件(字符文件或二进制文件)以及做什么样的操作(读、写或追加),具体如下表所示。操作模式具体含义'r'读取 (默认)'w'写入(会先截断之前的内容)'x'写入,如果文件已经存在会产生异常'a'追加,将内容写入到已有文件的末尾'b'二进制模式原创 2021-08-10 09:23:59 · 368 阅读 · 0 评论 -
Python:函数与面向对象编程总结
文章目录函数的定义函数的参数用模块管理函数高阶函数Lambda函数递归调用例题例题1:汉诺塔问题例题2:爬楼梯例题3:冒泡排序例题4:编写实现查找元素的函数例题5:判断快乐数函数的定义函数就是对实现某一特定功能的代码的封装。在Python中可以使用def关键字来定义函数,函数的命名规则跟变量的命名规则是一致的。# 定义函数:def是定义函数的关键字、fac是函数名,num是参数(自变量)def fac(num): """求阶乘""" result = 1 for n in原创 2021-08-07 11:56:28 · 1428 阅读 · 4 评论 -
Python学习笔记:17 面向对象编程进阶
动态属性在Python中,我们可以动态为对象添加属性,这是Python作为动态类型语言的一项特权,代码如下所示。注意:对象的方法其实本质上也是对象的属性,如果给对象发送一个无法接收的消息,引发的异常仍然是AttributeError。class Student: def __init__(self, name, age): self.name = name self.age = agestu = Student('王其', 20)# 为Studen原创 2021-08-07 11:02:18 · 256 阅读 · 0 评论 -
Python学习笔记:16 面向对象编程入门
在面向对象编程的世界里,程序中的数据和操作数据的函数是一个逻辑上的整体,我们称之为对象,对象可以接收消息,解决问题的方法就是创建对象并向对象发出各种各样的消息;通过消息传递,程序中的多个对象可以协同工作,这样就能构造出复杂的系统并解决现实中的问题。类和对象面向对象编程:把一组数据和处理数据的方法组成对象,把行为相同的对象归纳为类,通过封装隐藏对象的内部细节,通过继承实现类的特化与泛化,通过多态实现基于对象类型的动态分派。类是一个抽象的概念,对象是一个具体的概念。类是对象的蓝图和模板,对象是类的实例。原创 2021-08-07 10:14:00 · 300 阅读 · 0 评论 -
Python学习笔记:15 函数的高级应用
递归调用Python中允许函数嵌套定义,也允许函数之间相互调用,而且一个函数还可以直接或间接的调用自身。看一下求阶乘的问题:阶乘的定义:n! = n * (n - 1) * (n - 2)… 2 * 1n! = n * (n - 1)!可以用递归调用的方式写求阶乘的函数,代码如下:def fac(n): """求阶乘(递归写法) """ if n == 0: return 1 return n * fac(n - 1)递归函数的要点:1.递归公式:原创 2021-08-06 20:50:54 · 112 阅读 · 2 评论 -
Python学习笔记:14 函数使用进阶
关键字参数在调用函数传入参数时,可以指定参数名,也可以不指定参数名,一个简单的例子如下所示:def add(a, b, c): return a + b + cif __name__ == '__main__': # 调用函数传入参数不指定参数名按位置对号入座 print(add(1, 2, 3)) # 调用函数通过“参数名=参数值”的形式按顺序传入参数 print(add(a=1, b=2, c=5)) # 调用函数通过“参数名=参数值”的形式不按原创 2021-08-06 20:39:18 · 593 阅读 · 0 评论 -
Python学习笔记:13 函数和模块
函数的定义函数就是对实现某一特定功能的代码的封装函数的分类系统函数系统(语言系统)已经声明好,程序员可以直接使用的函数。自定义函数程序员自己声明的函数。函数的声明在Python中可以使用def关键字来定义函数,函数的命名规则跟变量的命名规则是一致的。def fac(num): """求阶乘""" result = 1 for i in range(2, num + 1): result *= i return result说明:原创 2021-08-04 20:56:34 · 217 阅读 · 1 评论 -
Python学习笔记:容器型数据类型之总结
文章目录可变性有序性共同点容器型数据类型之间的转换例题杨辉三角形生成10组随机验证码折半查找去重找出现次数最多的元素Python中容器型数据类型有列表、元组、字符串、集合、字典。可变性列表、集合、字典是可变的,元组、字符串不可变。集合支持添加、删除元素操作,不支持修改操作,因为集合是无序的,不能使用下标访问元素。列表和字典支持增删改查操作,列表可以通过遍历整个列表,获取所有元素,也可以通过下标获取指定元素;字典通过键获取对应的值,也可以通过遍历字典获取键值对。元组、字符串不支持增删改操作。# 列表原创 2021-07-31 14:46:25 · 396 阅读 · 0 评论 -
Python学习笔记:12 容器型数据类型------字典
文章目录认识字典创建和使用字典字典的运算字典的应用认识字典字典字典是容器型数据类型,将{}作为容器的标志,字典中的元素都是键值对,形如:{键1: 值1, 键2: 值2, 键3: 值3, …}字典是可变的(支持增删改)字典是无序的(不支持下标操作)字典元素(键值对)字典中的所有元素必须是键值对,键和值必须成对出现;字典存数据存的是值,键是用来区分和说明不同的值的。键:任意不可变的数据都可以作为键,实际开发的时候一般将字符串作为key;键是唯一的。值:任何类型的数据都可以作为字典原创 2021-07-31 09:16:35 · 451 阅读 · 0 评论 -
Python学习笔记:11 容器型数据类型------集合
11 容器型数据类型------集合集合的定义集合的定义:把一定范围的、确定的、可以区别的食物当作一个整体来看待。无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的。互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。无序性表明集合不支持索引运算,互异性决定了集合中不能有重复元素,Python中的集合一定是支持in和not in成员运算的,这样就可以原创 2021-07-30 20:12:05 · 156 阅读 · 0 评论 -
Python学习笔记:10 容器型数据类型------字符串
10 容器型数据类型------字符串文章目录10 容器型数据类型------字符串字符串的定义字符编码转义字符串和原始字符串字符串的运算拼接和重复比较运算成员运算获取字符串长度索引和切片循环遍历字符串字符串的方法大小写相关操作查找操作性质判断格式化字符串修剪操作替换拆分与合并编码与解码字符串的定义字符串是容器型数据类型,使用单引号或双引号作为容器标志,容器中的元素全是字符。字符串是不可变的(不支持增删改)、有序的(支持下表操作)# 字面量语法b = "hello, world"#原创 2021-07-30 13:17:15 · 788 阅读 · 1 评论 -
Python学习笔记:09 容器型数据类型------元组
09 容器型数据类型------元组认识元组元组(tuple)元组是容器型数据类型,将()作为容器的标志,里面多个元素用逗号隔开:(元素1,元素2,元素3,…)元组不可变(不支持增删改操作)元组有序(支持下标操作)注意:可以把元组看成不可变的列表。列表中除了元素的增删改外,其他的操作元组几乎都适用只有一个元素的元组()表示空的元组,但是因为()本身的特殊性导致如果一个元组只有一个元素,必须在这个唯一的元素后面添加逗号:(元素, )定义和使用元组定义元组通常使用()字面量语原创 2021-07-28 19:46:30 · 176 阅读 · 0 评论 -
Python学习笔记:08 列表操作(补充)
08 列表操作(补充)随机抽取和乱序使用random库中的下列函数实现随机抽取和乱序操作:sample函数可以对列表元素进行无放回抽样。choices函数可以对列表元素进行有放回抽样。choice函数可以从列表中随机选择一个元素。shuffle函数可以实现对列表元素打乱。"""example10 - 随机抽取和乱序Author: yucuiDate: 2021/7/26"""import randomnames = ['xiao hong', 'xiao ming', 'xi原创 2021-07-26 20:44:29 · 565 阅读 · 1 评论 -
Python学习笔记:07 简单排序算法
07 简单排序算法简单选择排序原理:每次从剩下的元素中选择最小的元素"""example08 - 简单选择排序Author: yucuiDate: 2021/7/26"""nums = [35, 12, 99, 58, 67, 42, 49, 31, 73]# 通过循环寻找有没有更小的值并记下它的位置for i in range(len(nums) - 1): # 假设第i个元素是最小值 min_value, min_index = nums[i], i原创 2021-07-26 20:18:51 · 118 阅读 · 1 评论 -
Python学习笔记:06 容器型数据类型------列表
06 容器型数据类型------列表容器型数据类型容器型数据类型:用一个变量可以保存多个数据的数据类型,包括列表(list)、元组(tuple)、集合(set)、字典(dict)。列表列表(list)列表是python提供的一种容器型数据类型;以[]作为容器的标志,里面多个元素用逗号隔开:[元素1, 元素2, 元素3, …]。列表是可变的(元素个数、元素的值可变),元素支持增、删、改、查操作。列表是有序的、支持下标操作。列表元素列表中的元素可以是任何类型的数据;同一列表中元素原创 2021-07-25 20:49:34 · 171 阅读 · 1 评论 -
Python学习笔记:05 分支与循环结构的应用
05 分支与循环结构的应用经典案例例1:斐波那契数列说明:斐波那契数列的特点是数列的前两个数都是1,从第三个数开始,每个数都是它前面两个数的和。那么斐波那契数列的前十个数为:1 1 2 3 5 8 13 21 34 55"""example1 - 输入一个整数n,输出n个斐波那契数1 1 2 3 5 8 13Author: yucuiDate: 2021/7/22"""n = int(input('请输入一个整数:'))a, b = 1, 1print(a, b, end='原创 2021-07-23 11:09:57 · 292 阅读 · 8 评论 -
Python学习笔记:04 分支结构和循环结构
05 分支结构和循环结构分支结构if语句使用if、elif、else构造分支结构,如下例所示:"""example01 - 分支结构(选择结构)admin/Admin123!!Author: yucuiDate: 2021/7/21"""username = input('用户名:')password = input('密码:')if username == 'admin' and password == 'Admin123!!': print('登录成功!欢迎使用xxx系原创 2021-07-22 14:06:37 · 352 阅读 · 2 评论 -
Python学习笔记:03 变量和运算符
03 变量和运算符变量变量和类型在编程语言中,变量是数据的载体,变量的值可以被读取和修改。Python中的数据类型有很多,常用的数据类型有:整型(int):Python中可以处理任意大小的函数,而且支持二进制(如0b101)、八进制(如0o101)、十进制(如101)、十六进制(如0x101)的表示法。浮点型(float):两种写法,数学写法(如123.456),科学计数法(如123456e-3)。字符串型(str):以单引号或双引号括起来的文本,如'hello'和"hello"。布尔型(b原创 2021-07-21 15:10:37 · 202 阅读 · 1 评论 -
Python学习笔记:02 第一个Python程序
02 第一个Python程序在第一节,已经安装了Python解释器,接下来开始编写Python程序。编写代码的工具交互式环境打开命令行提示符,输入python,进入到交互式环境中,输入代码回车,便可执行代码得出结果。可以通过输入quit()退出交互式环境>>> quit()更好的交互式环境:IPython使用Python的包管理工具pip来安装IPython,首先需要将pip的下载源修改为国内的豆瓣网,否则安装IPython的过程会非常缓慢,如下所示:pip confi原创 2021-07-20 19:56:22 · 116 阅读 · 0 评论 -
Python学习笔记:01 Python环境的安装
01Python环境的安装Windows环境到Python官网下载Python 3的安装程序双击打开下载好的安装包,后续安装步骤如下:注:一定要勾选Add Python 3.7 to PATH注:一定要勾选pip注:安装路径不能含中文打开命令行提示符,输入python --version或python -V,如果显示Python解释器对应的版本号,说明安装成功。除此之外,还需要检查pip包管理工具是否可用,输入pip --version查看。...原创 2021-07-20 17:02:06 · 115 阅读 · 1 评论