自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 day9 多线程的应用

多线程的应用01 . PDF文件读操作pypdf2 - 以页为单位对PDF文件进行读写操作(无法直接操作每一页内容)。打开文件创建reader对象(相当于PDF文件对象)。获取PDF文件的页数。获取指定的页,返回页对象 - reader对象 . getpage(页的下标):获取指定页,下标从0开始。from PyPDF2 import PdfFileReaderreader = PdfFileReader(open('files/学习路线图水印.pdf','rb'))n

2022-03-24 19:08:49 204

原创 day8 通信和线程池进程池

通信和线程池进程池01 . 线程间通信同一个进程中的多个线程可以直接通信(一个线程可以直接使用另一个线程中产生的数据)通信原则:使用全局变量from threading import Thread,current_thread'====================方案1====================='def sum1(x,y): # z是第一个子线程定义的全局变量 global z z = x + y print(current_threa

2022-03-23 16:43:50 221

原创 day7 多线程和多进程

多线程和多进程01 . 什么是线程和进程什么是进程 - 工厂一个正在运行的应用程序就是一个进程。每一个进程均运行在其钻用且受保护的内存(运行内存)中什么是线程 - 工人线程就是进程执行任务的基本单位,进程要做什么事情,必须要与线程。线程的特点 - 串行如果在一个线程中执行多个任务,任务是串行执行的(一个一个的按照顺序执行)多线程默认情况下,一个进程只有一个线程,多线程指的是在一个进程中有多个线程。多线程执行不同的任务可以并行(同时)执行。注意

2022-03-23 16:37:48 985

原创 day6 常见反爬

常见反爬01 . requests使用代理IP使用代理:给参数proxies赋值 - {‘http’:‘ip端口’}import requestsdef get_html(url): headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537

2022-03-22 08:56:23 352

原创 day4 selenium高级用法

selenium高级用法01 . selenium常见设置创建配置对象from selenium.webdriver import Chrome, ChromeOptionsoptions = ChromeOptions()添加配置取消测试环境options.add_experimental_option('excludeSwitches', ['enable-automation'])取消图片加载options.add_experimental_option("pre

2022-03-17 19:37:59 487

原创 day3 接口和selenium基础

selenium基础01 . selenium基本用法创建一个浏览器对象from selenium.webdriver import Chromefrom bs4 import BeautifulSoupfrom re import searchb = Chrome()打开网页b.get('https://cd.zu.anjuke.com/?from=navigation')获取网页数据(能获取到的数据一定是网页加载出来数据)# print(b.page_source)

2022-03-17 19:20:57 146

原创 day18 正则表达式

正则表达式01 . 匹配类符号正则表达式正则表达式是一种可以让一些复杂的字符串问题变得简单的工具。正则语法(通用)re模块:fullmatch(正则表达式,字符串) - 判断整个字符串是否满足正则表达式描述的规则(完全匹配)Python提供正则表达式的方法:提供一个字符串,字符串内容是一个正则表达式,这个字符串的最前面需要加 r 。Python的正则表达式:r ’ 正则 ’js的正则表达式:/ 正则 /oc的正则表达式:/ 正则 /正则语法内容包括:匹配类符号、控

2022-03-09 21:02:19 788

原创 day17 面向对象和json

面向对象和json01. 属性定义类就是用代码描述清楚这个类是拥有哪些相同功能和哪些相同属性的对象的集合,方法(函数)用来描述相同功能,属性(变量)用来描述相同属性。属性分为两种:类属性、对象属性类属性怎么定义:直接定义在类中的变量就是类属性class Student: a = 10 # a就是类属性怎么使用:通过’ 类 . '的方式使用class Student: a = 10 # a就是类属性print(Stud

2022-03-08 20:10:48 122

原创 day16 学生管理系统和面向对象

面向对象01.编程思想的转变面向过程编程(穷人思想)遇到问题马上想到的是解决问题的步骤和方案。工具:思路 + 基本语法函数式编程(小资思想)遇到问题想到的是是否已经存在一个函数具备解决问题的能力,如果有就直接用,没有就自己创造。工具:函数面向对象编程(富豪思想)遇到问题马上想到有没有一个对象具备这个功能,如果有直接用,没有就创建一个对象(创建对象还要看有没有类,没有类还需要创建类)工具:类和对象02. 类和对象认识类和对象类:类是具有相同功能和相同属性的对象的

2022-03-07 20:21:50 113

原创 day14 常用模块和文件操作

常用模块和文件操作01. os 模块import osos 模块作用os 模块 - 文件或者文件夹(目录)或者路径相关操作例如:创建文件夹、创建文件、删除文件、判断文件是否存在、获取路径、获取一个文件夹中所有的文件等等os 文件/目录相关方法返回当前工作目录# os . getcwd()print(os.getcwd()) # E:\qianfeng\草稿\分支和循环获取指定文件夹中所有内容的名字# os . listdir()dirs = os.listd

2022-03-03 20:37:39 87

原创 day13 模块包和异常

模块包和异常01. 模块认识模块Python中的一个Python文件就是一个模块模块分为系统模块和自定义模块模块分为系统模块和自定义模块自定义模块:程序员自己创建的模块导入模块怎么在一个模块中去使用另外一个模块的内容如果我们想要使用的内容(变量、函数、类)在另一个模块中,可以用,但使用之前必须先导入一个模块的内容想要能被其他模块使用前提:模块名必须符合变量名的要求(是标识符,不是关键字)怎么导入import 模块名 - 导入指定模块,

2022-03-02 20:34:35 339

原创 day12 函数进阶

函数进阶01. 匿名函数匿名函数的本质还是函数,他们除了定义的语法不同,其他的东西都一样。注意:匿名函数只能用来实现简单的函数语法:lambda 形参列表:返回值lambda num1,num2:num1+num2sum1 = lambda num1,num2:num1+num2print(sum1(10,20))# 写一个匿名函数,判断指定年是否是闰年,是返回True,否返回Falseis_leap_yea = lambda nums : (nums % 4 == 0 and

2022-03-01 21:00:17 87

原创 day11 函数基础

函数基础01. 定义函数什么是函数概念:函数就是实现某一特定功能的代码封装,一个函数对应一个功能(函数存储的功能)分类:(按照函数由谁创建的进行分类)系统函数 - Python语言已经创建好的函数(Python自带的函数,(print、input、type、id、max、min、sorted、sum等)自定义函数 - 由程序员自己创建的函数定义函数(造机器)语法:def 函数名(形参列表):​ 函数说明文档​

2022-02-28 20:52:48 99

原创 day10 字符串

字符串字符串的相关函数和相关方法01. 相关函数: Len、str**str(数据) - 将指定数据转换查字符串(任何数据类型都可以转换成字符串;转换时直接在数据的打印值外面加引号)print(str(100)) # '100'print(str(True)) # 'True'list1 = [10,20,30]print(str(list1)) # '[10, 20, 30]'list2 = ["abc", "12

2022-02-28 08:54:11 88

原创 day9 集合和字符串

集合和字符串01. 集合认识集合(set)集合是容器型数据类型,将{}作为容器的标志里面多个数据用逗号隔开:{数据1, 数据2, 数据3,…}可变的(支持增删改);无序(不支持下标操作)元素的要求: 1. 必须是不可变的数据 2.元素是唯一# 空集合set1 = set()print(type(set1), len(set1))# 集合是无序的print({1, 2, 3} == {3, 2, 1}) # True# 集合元素必须是不可变类型的数据s

2022-02-24 22:55:47 97

原创 day8 字典

字典01. 认识字典字典和列表的选择字典和列表的选择:同时保存多个数据的时候,如果多个数据的意义相同(不需要区分)就是用列表;如果保存的多个数据的意义不同,就需要使用字典。认识字典(dict)是容器型数据类型;将 {} 作为容器的标志,里面多个键值对用逗号隔开:{键1: 值1,键2:值2}键值对的格式: 键:值,空字典dict1 = {}字典中的元素只能是键值对dict2 = {'name':'某某','age':20}特点:字典是可变的(支持增

2022-02-23 22:40:56 82

原创 day7 列表和元组

列表和元组01. 列表相关操作数学运算符:’ + ‘、’ * '列表1 + 列表2 - 将两个列表合成为一个列表list1 = [10,20,30]list2 = [100,200]result = list1 + list2print(result) # [10, 20, 30, 100, 200]列表 * N、N * 列表 - 将列表中的元素重复N产生的一个新的列表list1 = [10,20,30]print(list1*2)

2022-02-23 08:46:30 463

原创 day6 列表

列表01 认识列表什么是列表( list )长什么样列表是容器型数据类型(一个列表可以同时保存多个数据);将 [] 作为容器的标志,里面多个元素用逗号隔开:[元素1,元素2,元素3…]特点列表是可变的 (指的是列表中元素的个数、元素的值和元素的顺序可变);列表是有序的 (每个元素都有位置对应的索引值)[10,20,,30] -> [10,20,30,40][10,20,,30] -> [10,20][10,20,,30] -&

2022-02-22 19:00:03 94

原创 day5 while循环和循环关键字

while循环和循环关键字小结01 Python三目运算符语法:值1 if 表达式1 else 值2# a如果大于10,result为0;否则result是1方法一:a = 10result = 0 if a > 10 else 1print(result)方法二:a = 100if a > 10: result = 0else: result = 1print(result)运算规则:如果表达式的结果为True整个运算的结果就是值1,否则

2022-02-19 15:19:46 160

原创 day4 分支和循环

分支和循环总结01流程控制流程控制 - 控制代码执行顺序顺序结构:代码从上往下依次执行,每天语句只执行一次。( 默认 )分支结构:根据条件选择执行或者不执行部分代码( 使用 if )循环结构:让代码重复执行( for 、 while )02 if 分支结构if 单分支结构 - 如果…就…解决的问题:满足条件执行某个操作,添加不满足的时候执行另外的操作语法:if 条件语句:​ 代码段( 满足条件才会执行的代码 )说明:if - 关键字,固定写法条件语句

2022-02-17 20:56:00 78

原创 变量与运算符

变量与运算符总结变量数学运算符比较运算符逻辑运算符赋值运算符1 . 定义变量 ( 定义-创建 )​ 变量就是一种专门保存数据的一种容器(变量就是用来保存数据的,保存数据以后,使用变量就是使用变量中保存的数据)变量名 = 数据说明:一、变量名 - 由自己命名要求:是标识符不能是关键字规范:见名知义(看到变量名就知道变量中保存的是什么数据)不使用系统的函数名(print、input、type)、类名(int、float…)和模块名

2022-02-16 21:04:40 617

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除