评分9.8
269节课
219338人已学
除此以外,大家还会学到Python里的面向对象,魔法方法,装饰器等高级功能使用,相信大家肯定能够体会到Python编程之美。
课程介绍:
主要介绍Python的发展历史和以后的发展方向,以及Python语言在数据分析,人工智能方向的独到之处。手把手的从最基础的安装Python环境开始,带领大家打开Python的大门,了解编程语言。结合生活中的场景,使用简单直白的语言进行描述,让大家轻松愉快的掌握变量,数据类型,函数等高深复杂的计算机专业技能。
章节目录:
Day01-开班
1.01-安装软件
1.02-配置Python环境变量
1.03-pycharm的安装和基本配置
1.04-xmind软件的使用
1.05-sublime和npp的安装使用
1.06-markdown语法的使用
Day02-Python介绍、变量、输入输出语句
2.01-计算机的介绍
2.02-什么是编程语言
2.03-python历史
2.04-python的使用场景
2.05-pycharm的基本使用
2.06-交互式编程介绍
2.07-注释的使用
2.08-pycharm虚拟环境
2.09-常见的数据类型
2.10-查看数据类型
2.11-标识符的命名规则与规范
2.12-print语句的使用
2.13-input语句的使用
Day03-进制转换、数据类型详解、类型转换、运算符
3.01-教辅系统的使用
3.02-使用系统环境变量
3.03-不同进制数据的表示方式
3.04-十进制转换成为二进制
3.05-二进制转八进制十六进制以及十进制
3.06-使用内置函数实现进制转换
3.07-为什么要类型转换
3.08-转换成为整数
3.09-转换成为字符串和浮点数
3.10-转换成为布尔值
3.11-算数运算符的基本使用
3.12-字符串里算数运算符
3.13-赋值运算符的使用
3.14-赋值运算符的特殊场景
3.15-比较运算符的使用
3.16-逻辑运算的基本使用
3.17-逻辑运算的短路和取值
3.18-位运算(了解)
Day04-流程控制语句
4.01-回顾总结
4.02-运算符的优先级
4.03-作业评比
4.04-if...else语句的使用
4.05-条件判断语句练习
4.06-if...elif的使用
4.07-if语句的嵌套
4.08-pass关键字的使用
4.09-猜拳游戏
4.10-if语句注意点
4.11-while语句的基本使用
4.12-while语句练习
4.13-for...in循环的使用
4.14-break和continue的使用
4.15-嵌套打印矩形
4.17-嵌套打印三角形
4.18-打印九九乘法表
Day05-字符串
5.01-基础题
5.02-进阶题
5.03-for...else语句的使用
5.04-使用假设成立法求质数
5.05-使用计数方法求质数
5.06-求斐波那契数列数列
5.07-挑战练习
5.08-字符串的表示方式
5.09-字符串的下标和切片
5.10-查找相关的方法
5.11-字符串查找判断和替换相关的方法
5.12-字符串分割相关的方法
5.13-快捷键的使用
Day06-列表
6.01-字符串的常见操作
6.02-字符串的编码
6.03-字符串的编码集
6.04-in和not in的使用
6.05-格式化输出字符
6.06-字符串format方法的使用
6.07-列表的基本使用
6.08-列表增加元素
6.09-列表的修改查询和删除
6.10-列表的遍历
6.11-交换两个变量的值
6.12-冒泡排序(难点非重点)
6.13-列表的排序和反转
6.14-可变数据类型和不可变数据类型
6.15-列表的浅复制
Day07-元组、字典、集合
7.01-冒泡排序优化
7.02-求列表的最大数以及下标
7.03-移除空字符串
7.04-列表的嵌套
7.05-列表推导式的使用
7.06-列表推导式练习(了解)
7.07-深拷贝和浅拷贝的介绍
7.08-元组的使用
7.09-字典的基本使用
7.10-z字典使用注意事项
7.11-从字典里获取数据
7.12-修改和新增数据
7.13-字典的增删改操作
7.14-update方法的使用
7.15-字典的遍历
7.16-字典的练习
7.17-字典的练习2
7.18-字典推导式
Day08-函数基础
8.01-作业讲解1
8.02-作业讲解2
8.03-集合的基本使用
8.04-集合里运算符的使用
8.05-eval和json的使用
8.06-公共方法总结
8.07-函数的介绍
8.08-函数的参数
8.09-函数的返回值
8.10-函数的文档说明
8.11-函数调用函数
8.12-全局变量和局部变量
8.13-多个返回值
Day09-高阶函数、装饰器
9.01-函数的回顾
9.02-函数的缺省参数
9.03-多个参数
9.04-可变参数
9.05-可变类型和不可变类型的传参
9.06-函数的注意事项
9.07-递归的基本使用
9.08-递归的练习
9.09-匿名函数的使用介绍
9.10-sort方法的使用
9.11-filter&map&reduce方法
9.12-内置函数总结
9.13-高阶函数
Day10-模块和包
10.01-高阶函数
10.02-闭包的概念
10.03-计算代码的执行时长
10.04-装饰器的基本使用
10.05-装饰器详解
10.06-装饰器的高级使用
10.07-作业
10.08-导入模块的五种方式
10.09-os模块的使用
10.10-sys模块的使用
10.11-math模块的使用
10.12-random模块的使用
10.13-datetime模块
10.14-time模块的使用
10.15-calendar模块
10.16-hashlib和hmac模块
Day11-面向对象基础
11.01-uuid模块
11.02-使用pip管理第三方包
11.03-自定义模块的使用
11.04-__name__的使用
11.05-包的概念
11.06-面向对象的介绍
11.07-面向对象的基本语法
11.08-self的介绍
11.09-__slots__属性的使用
11.10-__init__&__del__&__str__&__repr__&__call__魔法方法
11.11-__eq__方法的使用
Day12-面向对象进阶
12.01-函数习题讲解1
12.02-函数习题讲解2
12.03-面向对象练习
12.04-面向对象回顾
12.05-魔法方法介绍
12.06-内置属性
12.07-把对象当做字典操作
12.08-类属性和对象属性
12.09-私有属性和方法的使用
12.10-类方法和静态方法
12.11-图解静态方法和类方法
12.12-单例设计模式
Day13-文件操作
13.01-练习
13.02-继承的基本使用
13.03-继承的注意事项
13.04-类方法和静态方法回顾
13.05-私有属性的继承特点
13.06-新式类和经典类
13.07-Python2和Python3的区别
13.08-is&isinstance&issbuclass的使用
13.09-子类重写父类方法
13.10-不使用多态的问题
13.11-多态的使用
13.12-文件的打开和关闭
13.13-路径的介绍
13.14-文件的打开方式
Day14-序列化反序列化和异常处理
14.01-作业讲解1
14.02-作业讲解2
14.03-文件的读取方式
14.04-文件拷贝功能
14.05-csv文件的读写
14.06-将数据写入到内存
14.07-标准输入&标准输出&错误输出
14.08-json字符串详解
14.09-pickle的使用
14.10-json和pickle的区别
14.11-异常处理基本语句
14.12-异常的使用场景
Day15-迭代器生成器
15.01-练习1
15.02-练习2
15.03-练习3
15.04-打印列表
15.05-练习4
15.06-finally关键字的使用
15.07-with关键字的使用
15.08-上下文管理器
15.09-自定义异常
15.10-高级装饰器
15.11-装饰器高级使用(了解)
15.12-可迭代对象和迭代器
15.13-迭代器的使用场景
Day16-名片管理系统
16.01-作业讲解
16.02-名片管理系统(退出系统功能完成)
16.03-添加用户功能的实现
16.04-删除用户功能实现
16.05-修改用户功能实现
16.06-显示用户功能实现
16.07-生成器的使用介绍
16.08-生成器练习
Day17-学生管理系统
17.01-学生管理系统介绍
17.02-结构搭建和退出功能的实现
17.03-注册功能实现
17.04-登录功能的实现
17.05-项目结构回顾
17.06-添加学生功能的实现
17.07-添加学生功能完成
17.08-查找用户的功能实现
17.09-删除用户功能实现
Day18-正则表达式
18.01-导入模块
18.02-正则表达式介绍
18.03-正则查找相关的方法
18.04-re.Match类的介绍
18.05-re.compile方法的使用
18.06-正则修饰符的使用
18.07-正则匹配规则
18.08-标点符号的特殊含义
18.09-特殊字母的含义
18.10-正则表达式练习
18.11-正则替换
18.12-贪婪模式和非贪婪模式
Day19-网络编程
19.01-正则表达式作业
19.02-网络通信的概念
19.03-什么是ip地址
19.04-ip地址分类
19.05-网络通信原理
19.06-网络连接原理
19.07-端口号和套接字
19.08-udp发送数据
19.09-udp接收数据
19.10-绑定端口的意义
19.11-tcp客户端
19.12-tcp服务器
19.13-文件下载案例
Day20-多任务
20.01-多线程实现多任务
20.02-多线程版聊天
20.03-多线程共享全局变量&线程安全问题
20.04-线程锁的使用
20.05-线程间通信
20.06-多进程的使用
20.07-进程和线程的区别
20.08-多进程不能共享全局变量
20.09-进程间通信
20.10-队列的使用
20.11-进程池的使用
20.12-join方法
Day21-HTTP服务器
21.01-简单的HTTP服务器搭建
21.02-http请求头
21.03-ip地址的绑定
21.04-根据不同的请求返回不同的内容
21.05-面向对象的服务器封装
21.06-WSGI服务器的介绍
21.07-WSGI不同路径返回不同内容&HTTP状态码
21.08-读取文件并返回给浏览器
21.09-方法的封装
21.10-使用字典管理请求路径
21.11-requests模块的使用
第1章 - Day01-开班
第2章 - Day02-Python介绍、变量、输入输出语句
第7节 - 2.01-计算机的介绍
点击播放第8节 - 2.02-什么是编程语言
点击播放第9节 - 2.03-python历史
点击播放第10节 - 2.04-python的使用场景
点击播放第11节 - 2.05-pycharm的基本使用
点击播放第12节 - 2.06-交互式编程介绍
点击播放第13节 - 2.07-注释的使用
点击播放第14节 - 2.08-pycharm虚拟环境
点击播放第15节 - 2.09-常见的数据类型
点击播放第16节 - 2.10-查看数据类型
点击播放第17节 - 2.11-标识符的命名规则与规范
点击播放第18节 - 2.12-print语句的使用
点击播放第19节 - 2.13-input语句的使用
点击播放第3章 - Day03-进制转换、数据类型详解、类型转换、运算符
第20节 - 3.01-教辅系统的使用
点击播放第21节 - 3.02-使用系统环境变量
点击播放第22节 - 3.03-不同进制数据的表示方式
点击播放第23节 - 3.04-十进制转换成为二进制
点击播放第24节 - 3.05-二进制转八进制十六进制以及十进制
点击播放第25节 - 3.06-使用内置函数实现进制转换
点击播放第26节 - 3.07-为什么要类型转换
点击播放第27节 - 3.08-转换成为整数
点击播放第28节 - 3.09-转换成为字符串和浮点数
点击播放第29节 - 3.10-转换成为布尔值
点击播放第30节 - 3.11-算数运算符的基本使用
点击播放第31节 - 3.12-字符串里算数运算符
点击播放第32节 - 3.13-赋值运算符的使用
点击播放第33节 - 3.14-赋值运算符的特殊场景
点击播放第34节 - 3.15-比较运算符的使用
点击播放第35节 - 3.16-逻辑运算的基本使用
点击播放第36节 - 3.17-逻辑运算的短路和取值
点击播放第37节 - 3.18-位运算(了解)
点击播放第4章 - Day04-流程控制语句
第38节 - 4.01-回顾总结
点击播放第39节 - 4.02-运算符的优先级
点击播放第40节 - 4.03-作业评比
点击播放第41节 - 4.04-if...else语句的使用
点击播放第42节 - 4.05-条件判断语句练习
点击播放第43节 - 4.06-if...elif的使用
点击播放第44节 - 4.07-if语句的嵌套
点击播放第45节 - 4.08-pass关键字的使用
点击播放第46节 - 4.09-猜拳游戏
点击播放第47节 - 4.10-if语句注意点
点击播放第48节 - 4.11-while语句的基本使用
点击播放第49节 - 4.12-while语句练习
点击播放第50节 - 4.13-for...in循环的使用
点击播放第51节 - 4.14-break和continue的使用
点击播放第52节 - 4.15-嵌套打印矩形
点击播放第53节 - 4.17-嵌套打印三角形
点击播放第54节 - 4.18-打印九九乘法表
点击播放第5章 - Day05-字符串
第55节 - 5.01-基础题
点击播放第56节 - 5.02-进阶题
点击播放第57节 - 5.03-for...else语句的使用
点击播放第58节 - 5.04-使用假设成立法求质数
点击播放第59节 - 5.05-使用计数方法求质数
点击播放第60节 - 5.06-求斐波那契数列数列
点击播放第61节 - 5.07-挑战练习
点击播放第62节 - 5.08-字符串的表示方式
点击播放第63节 - 5.09-字符串的下标和切片
点击播放第64节 - 5.10-查找相关的方法
点击播放第65节 - 5.11-字符串查找判断和替换相关的方法
点击播放第66节 - 5.12-字符串分割相关的方法
点击播放第67节 - 5.13-快捷键的使用
点击播放第6章 - Day06-列表
第68节 - 6.01-字符串的常见操作
点击播放第69节 - 6.02-字符串的编码
点击播放第70节 - 6.03-字符串的编码集
点击播放第71节 - 6.04-in和not in的使用
点击播放第72节 - 6.05-格式化输出字符
点击播放第73节 - 6.06-字符串format方法的使用
点击播放第74节 - 6.07-列表的基本使用
点击播放第75节 - 6.08-列表增加元素
点击播放第76节 - 6.09-列表的修改查询和删除
点击播放第77节 - 6.10-列表的遍历
点击播放第78节 - 6.11-交换两个变量的值
点击播放第79节 - 6.12-冒泡排序(难点非重点)
点击播放第80节 - 6.13-列表的排序和反转
点击播放第81节 - 6.14-可变数据类型和不可变数据类型
点击播放第82节 - 6.15-列表的浅复制
点击播放第7章 - Day07-元组、字典、集合
第83节 - 7.01-冒泡排序优化
点击播放第84节 - 7.02-求列表的最大数以及下标
点击播放第85节 - 7.03-移除空字符串
点击播放第86节 - 7.04-列表的嵌套
点击播放第87节 - 7.05-列表推导式的使用
点击播放第88节 - 7.06-列表推导式练习(了解)
点击播放第89节 - 7.07-深拷贝和浅拷贝的介绍
点击播放第90节 - 7.08-元组的使用
点击播放第91节 - 7.09-字典的基本使用
点击播放第92节 - 7.10-z字典使用注意事项
点击播放第93节 - 7.11-从字典里获取数据
点击播放第94节 - 7.12-修改和新增数据
点击播放第95节 - 7.13-字典的增删改操作
点击播放第96节 - 7.14-update方法的使用
点击播放第97节 - 7.15-字典的遍历
点击播放第98节 - 7.16-字典的练习
点击播放第99节 - 7.17-字典的练习2
点击播放第100节 - 7.18-字典推导式
点击播放第8章 - Day08-函数基础
第101节 - 8.01-作业讲解1
点击播放第102节 - 8.02-作业讲解2
点击播放第103节 - 8.03-集合的基本使用
点击播放第104节 - 8.04-集合里运算符的使用
点击播放第105节 - 8.05-eval和json的使用
点击播放第106节 - 8.06-公共方法总结
点击播放第107节 - 8.07-函数的介绍
点击播放第108节 - 8.08-函数的参数
点击播放第109节 - 8.09-函数的返回值
点击播放第110节 - 8.10-函数的文档说明
点击播放第111节 - 8.11-函数调用函数
点击播放第112节 - 8.12-全局变量和局部变量
点击播放第113节 - 8.13-多个返回值
点击播放第9章 - Day09-高阶函数、装饰器
第114节 - 9.01-函数的回顾
点击播放第115节 - 9.02-函数的缺省参数
点击播放第116节 - 9.03-多个参数
点击播放第117节 - 9.04-可变参数
点击播放第118节 - 9.05-可变类型和不可变类型的传参
点击播放第119节 - 9.06-函数的注意事项
点击播放第120节 - 9.07-递归的基本使用
点击播放第121节 - 9.08-递归的练习
点击播放第122节 - 9.09-匿名函数的使用介绍
点击播放第123节 - 9.10-sort方法的使用
点击播放第124节 - 9.11-filter&map&reduce方法
点击播放第125节 - 9.12-内置函数总结
点击播放第126节 - 9.13-高阶函数
点击播放第10章 - Day10-模块和包
第127节 - 10.01-高阶函数
点击播放第128节 - 10.02-闭包的概念
点击播放第129节 - 10.03-计算代码的执行时长
点击播放第130节 - 10.04-装饰器的基本使用
点击播放第131节 - 10.05-装饰器详解
点击播放第132节 - 10.06-装饰器的高级使用
点击播放第133节 - 10.07-作业
点击播放第134节 - 10.08-导入模块的五种方式
点击播放第135节 - 10.09-os模块的使用
点击播放第136节 - 10.10-sys模块的使用
点击播放第137节 - 10.11-math模块的使用
点击播放第138节 - 10.12-random模块的使用
点击播放第139节 - 10.13-datetime模块
点击播放第140节 - 10.14-time模块的使用
点击播放第141节 - 10.15-calendar模块
点击播放第142节 - 10.16-hashlib和hmac模块
点击播放第11章 - Day11-面向对象基础
第143节 - 11.01-uuid模块
点击播放第144节 - 11.02-使用pip管理第三方包
点击播放第145节 - 11.03-自定义模块的使用
点击播放第146节 - 11.04-__name__的使用
点击播放第147节 - 11.05-包的概念
点击播放第148节 - 11.06-面向对象的介绍
点击播放第149节 - 11.07-面向对象的基本语法
点击播放第150节 - 11.08-self的介绍
点击播放第151节 - 11.09-__slots__属性的使用
点击播放第152节 - 11.10-__init__&__del__&__str__&__repr__&__call__魔法
点击播放第153节 - 11.11-__eq__方法的使用
点击播放第12章 - Day12-面向对象进阶
第154节 - 12.01-函数习题讲解1
点击播放第155节 - 12.02-函数习题讲解2
点击播放第156节 - 12.03-面向对象练习
点击播放第157节 - 12.04-面向对象回顾
点击播放第158节 - 12.05-魔法方法介绍
点击播放第159节 - 12.06-内置属性
点击播放第160节 - 12.07-把对象当做字典操作
点击播放第161节 - 12.08-类属性和对象属性
点击播放第162节 - 12.09-私有属性和方法的使用
点击播放第163节 - 12.10-类方法和静态方法
点击播放第164节 - 12.11-图解静态方法和类方法
点击播放第165节 - 12.12-单例设计模式
点击播放第13章 - Day13-文件操作
第166节 - 13.01-练习
点击播放第167节 - 13.02-继承的基本使用
点击播放第168节 - 13.03-继承的注意事项
点击播放第169节 - 13.04-类方法和静态方法回顾
点击播放第170节 - 13.05-私有属性的继承特点
点击播放第171节 - 13.06-新式类和经典类
点击播放第172节 - 13.07-Python2和Python3的区别
点击播放第173节 - 13.08-is&isinstance&issbuclass的使用
点击播放第174节 - 13.09-子类重写父类方法
点击播放第175节 - 13.10-不使用多态的问题
点击播放第176节 - 13.11-多态的使用
点击播放第177节 - 13.12-文件的打开和关闭
点击播放第178节 - 13.13-路径的介绍
点击播放第179节 - 13.14-文件的打开方式
点击播放第14章 - Day14-序列化反序列化和异常处理
第180节 - 14.01-作业讲解1
点击播放第181节 - 14.02-作业讲解2
点击播放第182节 - 14.03-文件的读取方式
点击播放第183节 - 14.04-文件拷贝功能
点击播放第184节 - 14.05-csv文件的读写
点击播放第185节 - 14.06-将数据写入到内存
点击播放第186节 - 14.07-标准输入&标准输出&错误输出
点击播放第187节 - 14.08-json字符串详解
点击播放第188节 - 14.09-pickle的使用
点击播放第189节 - 14.10-json和pickle的区别
点击播放第190节 - 14.11-异常处理基本语句
点击播放第191节 - 14.12-异常的使用场景
点击播放第15章 - Day15-迭代器生成器
第192节 - 15.01-练习1
点击播放第193节 - 15.02-练习2
点击播放第194节 - 15.03-练习3
点击播放第195节 - 15.04-打印列表
点击播放第196节 - 15.05-练习4
点击播放第197节 - 15.06-finally关键字的使用
点击播放第198节 - 15.07-with关键字的使用
点击播放第199节 - 15.08-上下文管理器
点击播放第200节 - 15.09-自定义异常
点击播放第201节 - 15.10-高级装饰器
点击播放第202节 - 15.11-装饰器高级使用(了解)
点击播放第203节 - 15.12-可迭代对象和迭代器
点击播放第204节 - 15.13-迭代器的使用场景
点击播放第16章 - Day16-名片管理系统
第17章 - Day17-学生管理系统
第18章 - Day18-正则表达式
第222节 - 18.01-导入模块
点击播放第223节 - 18.02-正则表达式介绍
点击播放第224节 - 18.03-正则查找相关的方法
点击播放第225节 - 18.04-re.Match类的介绍
点击播放第226节 - 18.05-re.compile方法的使用
点击播放第227节 - 18.06-正则修饰符的使用
点击播放第228节 - 18.07-正则匹配规则
点击播放第229节 - 18.08-标点符号的特殊含义
点击播放第230节 - 18.09-特殊字母的含义
点击播放第231节 - 18.10-正则表达式练习
点击播放第232节 - 18.11-正则替换
点击播放第233节 - 18.12-贪婪模式和非贪婪模式
点击播放第19章 - Day19-网络编程
第234节 - 19.01-正则表达式作业
点击播放第235节 - 19.02-网络通信的概念
点击播放第236节 - 19.03-什么是ip地址
点击播放第237节 - 19.04-ip地址分类
点击播放第238节 - 19.05-网络通信原理
点击播放第239节 - 19.06-网络连接原理
点击播放第240节 - 19.07-端口号和套接字
点击播放第241节 - 19.08-udp发送数据
点击播放第242节 - 19.09-udp接收数据
点击播放第243节 - 19.10-绑定端口的意义
点击播放第244节 - 19.11-tcp客户端
点击播放第245节 - 19.12-tcp服务器
点击播放第246节 - 19.13-文件下载案例
点击播放第20章 - Day20-多任务
第247节 - 20.01-多线程实现多任务
点击播放第248节 - 20.02-多线程版聊天
点击播放第249节 - 20.03-多线程共享全局变量&线程安全问题
点击播放第250节 - 20.04-线程锁的使用
点击播放第251节 - 20.05-线程间通信
点击播放第252节 - 20.06-多进程的使用
点击播放第253节 - 20.07-进程和线程的区别
点击播放第254节 - 20.08-多进程不能共享全局变量
点击播放第255节 - 20.09-进程间通信
点击播放第256节 - 20.10-队列的使用
点击播放第257节 - 20.11-进程池的使用
点击播放第258节 - 20.12-join方法
点击播放第21章 - Day21-HTTP服务器
第259节 - 21.01-简单的HTTP服务器搭建
点击播放第260节 - 21.02-http请求头
点击播放第261节 - 21.03-ip地址的绑定
点击播放第262节 - 21.04-根据不同的请求返回不同的内容
点击播放第263节 - 21.05-面向对象的服务器封装
点击播放第264节 - 21.06-WSGI服务器的介绍
点击播放第265节 - 21.07-WSGI不同路径返回不同内容&HTTP状态码
点击播放第266节 - 21.08-读取文件并返回给浏览器
点击播放第267节 - 21.09-方法的封装
点击播放第268节 - 21.10-使用字典管理请求路径
点击播放第269节 - 21.11-requests模块的使用
点击播放pprint 是 “pretty printer” 的简写,“pretty” 的含义是 “漂亮的、美观的”,因此 pprint 的含义便是:漂亮的打印。
快速排序算法是一种基于交换的高效的排序算法,由C.R.A.Hoare于1962年提出,是一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide and conquer algorithm)。
归并排序1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。
python学习过程中会用到许多数据,那为了方便操作,需要把这些数据分别用一个简单的名字代表,方便在接下来的程序中引用。
在执行 IO 密集型任务的时候,程序会因为等待 IO 而阻塞。比如我们使用 requests 库来进行网络爬虫请求的话,如果网站响应速度过慢,程序会一直等待网站响应,最终导致其爬取效率十分低下。本文以爬取 IP 代理池为例,演示 Python 中如何利用异步协程来加速网络爬虫。 注:本文示例代码,需要 Python 3.7 及以上版本。
WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 Python 应用程序之间如何交互的接口规范。
2020最新_Python_(MySQL_SQL_Redis)数据库详解
进阶152224人学习
进阶166587人学习
初级178351人学习
初级159935人学习
项目117828人学习
高级127199人学习
高级135330人学习