
Python学习之路
Python学习资料,从零开始
秋高工作室
这个作者很懒,什么都没留下…
展开
-
42 - 数据库-orm-SQLAlchemy
42 - 数据库-orm-SQLAlchemy目录1 ORM 2 sqlalchemy 3 基本使用 3.1 创建连接 3.1.1 利用连接池执行sql 3.1.2 利用session来执行sql 3.2 创建基类 3.3 创建实体类 3.3.1 常用字段 3.4 实例化 3.5 创建表 3.6 创建会话Session 3.7 ...转载 2020-04-22 12:40:10 · 172 阅读 · 0 评论 -
18 - csv文件-ini文件处理
18 - csv文件-ini文件处理目录1 CSV文件 1.1 手动生成一个csv文件 1.2 cvs模块 1.2.1 reader方法 1.2.2 writer方法 2 ini文件处理 2.1 configparser模块 2.2 常用方法 2.2.1 读取配置配件 2.2.2 section操作 2.2.3 option操作 ...转载 2020-04-22 12:39:56 · 256 阅读 · 0 评论 -
41 - 数据库-pymysql41 - 数据库-pymysql-DBUtils
41 - 数据库-pymysql41 - 数据库-pymysql-DBUtils目录1 Python操作数据库 2 安装模块 3 基本使用 3.1 创建一个连接 3.2 连接数据库 3.3 游标 3.3.1 利用游标操作数据库 3.3.2 事务管理 3.3.3 执行SQL语句 3.3.3.1 批量执行 3.3.3.2 SQL注入攻击 ...转载 2020-04-22 12:39:39 · 187 阅读 · 0 评论 -
40 - 数据库基础
40 - 数据库基础目录1 数据库概述 1.1 关系数据库之ACID理论 1.2 关系数据库之概念 1.2.1 候选键 1.2.2 主键 1.2.3 外键 1.2.4 约束Constraint 1.2.5 索引 1.3 实体联系 1.4 视图 2 SQL 2.1 分类 2.2 规范 3 MySQL 3.1 安装My...转载 2020-04-22 12:39:25 · 183 阅读 · 0 评论 -
39 - 同步-异步-IO多路复用
39 - 同步-异步-IO多路复用目录1 同步与异步 2 阻塞与非阻塞 3 什么是IO 3.1 内核态用户态 3.2 IO两个阶段 3.3 IO模型 3.3.1 同步阻塞IO 3.3.2 同步非阻塞IO 3.3.3 IO多路复用 3.3.4 异步IO 4 Python中的IO多路复用 4.1 selectors库 4.2 regi...转载 2020-04-22 12:39:07 · 132 阅读 · 0 评论 -
38 - 网络编程-socketserver
38 - 网络编程-socketserver目录1 socket编程弊端 2 SocketServer模块 2.1 服务器类 2.2 Mixin类 2.3 RequestHandlerClass是啥 2.4 编程接口 3 实现EchoServer 4 聊天室1 socket编程弊端socket编程过于底层,编程虽然有套路,但是要写出健壮的代码还是比...转载 2020-04-22 12:38:51 · 136 阅读 · 0 评论 -
37 - 网络编程-UDP编程
37 - 网络编程-UDP编程目录1 UDP协议 2 UDP通信流程 3 UDP编程 3.1 构建服务端 3.2 构建客户端 3.3 常用方法 4 聊天室 5 UDP协议应用1 UDP协议UDP是面向无连接的协议,使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。虽然用UDP传输数据不...转载 2020-04-22 12:38:37 · 132 阅读 · 0 评论 -
36 - 网络编程-TCP编程
36 - 网络编程-TCP编程目录1 概述 2 TCP/IP协议基础 3 TCP编程 3.1 通信流程 3.2 构建服务端 3.3 构建客户端 3.4 常用方法 3.4.1 makefile方法 3.5 socket交互 3.4.1 通讯循环及客户端发空消息时的问题 3.4.2 链接循环及客户端强制退出时的问题 3.4.3 模拟远程执行...转载 2020-04-22 12:38:20 · 124 阅读 · 0 评论 -
35 - 并发编程-GIL-多进程
35 - 并发编程-GIL-多进程目录1 GIL 1.1 为什么会有GIL 1.2 GIL与thread lock 1.3 个人总结 2 multiprocessing模块 2.1 Process类 2.2 Process类的方法 2.3 Process的其他属性 2.3 基本使用 2.4 进程同步锁 2.5 进程池 2.5.1 常用...转载 2020-04-22 12:38:05 · 127 阅读 · 0 评论 -
33 - 并发编程-线程同步-Event-lock
33 - 并发编程-线程同步-Event-lock目录1 线程同步 1.1 Event 1.1.1 什么是Flag? 1.1.2 Event原理 1.1.3 吃包子 1.2 Lock 1.2.1 lock方法 1.2.2 计数器 1.2.3 非阻塞锁 1.2.4 锁应用场景 1 线程同步线程同步...转载 2020-04-21 22:37:07 · 179 阅读 · 0 评论 -
32 - 并发编程-线程-多线程
32 - 并发编程-线程-多线程目录1 概述 2 进程和线程 2.1 进程和线程的关系 2.2 进程和线程的特点 2.3 线程与进程的区别 2.3 线程的状态 3 Python线程 3.1 Thread类 3.1.1 运行线程 3.1.2 线程退出 3.1.3 属性方法 3.1.4 start方法和run方法 3.2 多线程 ...转载 2020-04-21 22:36:51 · 162 阅读 · 0 评论 -
29 - 异常处理-模块化
29 - 异常处理-模块化目录1 异常 1.1 产生异常 1.1.1 解释器触发异常 1.1.2 手动触发异常 1.2 异常类型 1.2.1 自定义异常 1.3 异常处理(捕获) 1.3.1 多种捕获 1.3.2 finally子句引发的问题 1.3.3 异常的传递 1.3.4 异常的捕捉时机 1.3.5 小结 ...转载 2020-04-21 22:36:22 · 115 阅读 · 0 评论 -
28 - 生成器交互-__slots__-未实现异常
28 - 生成器交互-__slots__-未实现异常目录1 生成器交互 2 slots 3 未实现和未实现异常 4 Python的对象模型1 生成器交互生成器提供了一个send方法用于动态的和生成器对象进行交互。怎么理解的呢?看下面的例子:def generator(): a = 0 while True: position =...转载 2020-04-21 22:36:07 · 162 阅读 · 0 评论 -
27 - 面向对象高级-描述器
27 - 面向对象高级-描述器目录1 描述器 2 描述器协议 2.1 非数据描述器 2.1.1 实例分析 2.2 数据描述器 2.2.1 实例 2.3 描述器的调用及属性访问顺序 2.4 描述器总结 3 Python的描述器体现 3.1 staticmethod简单实现 3.2 ClassMethod简单实现 3.3 对实例的数据进...转载 2020-04-16 22:32:27 · 110 阅读 · 0 评论 -
26 - 面向对象高级-上下文管理-反射
26 - 面向对象高级-上下文管理-反射目录1 上下文管理 1.1 上下文管理的安全性 1.2 返回值 1.3 方法的参数 1.4 计算函数的运行时间 1.5 主要应用场景 1.6 contextlib.contextmanager 2 反射 2.1 反射相关的函数 2.2 反射相关的魔术方法 2.2.1 getattr 2.2.2 se...转载 2020-04-16 22:30:47 · 138 阅读 · 0 评论 -
25 - 面向对象高级-魔术方法基础
25 - 面向对象高级-魔术方法基础目录1 魔术方法 2 类的魔术方法 2.1 基本的魔法方法和常用属性 2.2 有关属性 2.3 比较操作符 2.4 算数运算符 2.5 反运算 2.6 增量赋值运算 2.7 一元操作符 2.8 类型转换 2.9 上下文管理(with 语句) 2.10 容器类型 3 常用方法 3.1 查看属性 3....转载 2020-04-16 22:30:21 · 101 阅读 · 0 评论 -
24 - 面向对象基础-多继承-super-mro-Mixin
24 - 面向对象基础-多继承-super-mro-Mixin目录1 类的继承 2 不同版本的类 3 基本概念 4 特殊属性和方法 5 继承中的访问控制 6 方法的重写(override) 6.1 super 6.2 继承中的初始化 7 多继承 7.1 多继承弊端 7.2 MRO 7.3 多继承的建议 7.4 Mixin 7.4.1 利用装饰器...转载 2020-04-16 22:29:44 · 138 阅读 · 0 评论 -
23 - 面向对象基础-封装-属性-方法-访问控制
23 - 面向对象基础-封装-属性-方法-访问控制目录1 面向对象介绍 2 面向对象 2.1 类class 2.2 对象instance/object 2.3 Python的哲学思想 3 面向对象的要素 4 Python的类 4.1 类对象及属性 4.2 实例化 4.2.1 __init__函数 4.2.2 实例对象(instance) 4....转载 2020-04-16 22:29:16 · 175 阅读 · 0 评论 -
17 - 路径操作-shutil模块
17 - 路径操作-shutil模块目录1 路径操作 1.1 os.path模块 1.2 pathlib模块 1.2.1 目录操作 初始化(一个路径对象) 路径拼接和分解 获取路径 父目录 目录的组成部分 全局方法及判断方法 通配符 目录属性 1.2.2 文件操作 1.3 os 模块 ...转载 2020-04-16 22:28:49 · 111 阅读 · 0 评论 -
16 - 文件操作-StringIO-BytesIO
16 - 文件操作-StringIO-BytesIO目录1 文件操作 1.1 open函数介绍 1.2 打开操作 1.2.1 mode模式 1.2.2 文件指针 1.2.3 缓冲区 1.2.4 encoding编码 1.2.5 其他参数 1.3 读写操作 1.4 关闭操作 1.5 上下文管理 1.6 文件对象的其他方法 ...转载 2020-04-16 22:28:19 · 130 阅读 · 0 评论 -
15 - reduce-pratial偏函数-lsu_cache
15 - reduce-pratial偏函数-lsu_cache目录介绍 1 reduce方法 2 partial方法(偏函数) 2.1 partial方法基本使用 2.2 partial原码分析 2.3 functools.warps实现分析 3 lsu_cache方法 3.1 基本使用 3.2 lru_cache原码分析 3.3 斐波那契序列的lru...转载 2020-04-16 22:27:49 · 183 阅读 · 0 评论 -
14 - 函数参数检测-inspect模块
14 - 函数参数检测-inspect模块目录1 python类型注解 2 函数定义的弊端 3 函数文档 4 函数注解 4.1 annotation属性 5 inspect模块 5.1 常用方法 5.2 signature类 5.3 parameters属性 5.4 获取对象的参数签名 6 检查参数1 python类型注解...转载 2020-04-14 07:10:53 · 699 阅读 · 0 评论 -
13 - 高阶函数-柯里化-装饰器
13 - 高阶函数-柯里化-装饰器目录1 高阶函数 1.1 自定义sort函数 1.1.1 将规模缩小,先实现排序,先不管key和reverse参数 1.1.2 添加reverse参数判断 1.1.3 添加key参数判断 1.2 内建函数(高阶函数) 1.2.1 sorted排序 1.2.2 filter 过滤 1.2.3 map 映射...转载 2020-04-14 07:10:18 · 134 阅读 · 0 评论 -
12 - 树-基础知识-二叉树-完全二叉树-斜树
12 - 树-基础知识-二叉树-完全二叉树-斜树目录1 树 2 树的概念 3 树的特点 4 二叉树 4.1 斜树 4.2 满二叉树 4.3 完全二叉树 4.4 二叉树的性质 4.4.1 性质1 4.4.2 性质2 4.4.3 性质3 4.4.4 性质4 4.4.5 性质5 4.4.6 其他性质 1 树...转载 2020-04-14 07:10:02 · 255 阅读 · 0 评论 -
11 - 函数的执行流程-函数递归-匿名函数-生成器
11 - 函数的执行流程-函数递归-匿名函数-生成器目录1 函数的执行流程 1.1 字节码了解压栈过程 1.2 嵌套函数的压栈 2 递归 2.1 递归函数 2.2 递归的性能 2.3 递归的优化 2.4 间接递归 2.5 递归总结 3 匿名函数 4 Python生成器 4.1 基本结构 4.2 使用场景 4.3 协程coriutine...转载 2020-04-14 07:09:45 · 124 阅读 · 0 评论 -
10 - 函数嵌套-作用域-闭包-LEGB-函数销毁
10 - 函数嵌套-作用域-闭包-LEGB-函数销毁目录1 函数嵌套 2 作用域 2.1 global关键字 3 闭包 3.1 nonlocal关键字 4 默认值的作用域 5 变量名解析原则LEGB 6 函数的销毁1 函数嵌套一个函数中存在另外一个函数(定义/调用),这种方式我们称之为函数嵌套。所以:函数的嵌套主要分为嵌套调用,以及嵌...转载 2020-04-14 07:09:27 · 154 阅读 · 0 评论 -
9 - Python函数定义-位置参数-返回值
9 - Python函数定义-位置参数-返回值目录1 函数介绍 1.1 为什么要使用函数 1.2 Python中的函数 2 函数的基本使用 3 函数的参数 3.1 参数的默认值 3.2 可变参数 3.2.1 可变位置传参 3.2.2 可变关键字传参 3.2.3 可变参数混合使用 3.2.4 可变参数小结 3.3 key...转载 2020-04-14 07:09:06 · 193 阅读 · 0 评论 -
7 - 列表解析式-生成器
7 - 列表解析式-生成器目录1 解析式 2 列表解析式 2.1 列表解析式进阶 3 其他解析式 3.1 集合表达式 3.2 字典解析式 4 生成器表达式 4.1 特点 4.2 next函数 5 总结1 解析式从一个问题来看解析式,现有如下需求:生成一个列表,元素0-9,对每一个元素自增1后求平方返回新列表。lst ...转载 2020-04-14 07:08:50 · 159 阅读 · 0 评论 -
6 - Python内置结构 - 字典
6 - Python内置结构 - 字典[toc]1 字典介绍在Python中字典属于一种映射类型,它和set相同,同样属于非线性结构存储,Python官方对dict有如下解释一个映射对象映射一个可hash的值到任意一个对象上去。 映射是可变的对象。 dict是当前唯一一个标准的映射类型。 字典的键几乎可以任意的值。 字典的值可以不必可hash,也就是说值可以...转载 2020-04-14 07:08:08 · 348 阅读 · 0 评论 -
5-python的封装与结构 - set集合
5-python的封装与结构 - set集合目录1 封装与解构 1.1 封装 1.2 解构 1.3 Python3的解构 2 set类型 2.1 set的定义 2.2 set的基本操作 2.2.1 增加元素 2.2.2 删除元素 2.2.3 修改元素 2.2.4 成员判断 2.3 set小结 3 集合 3.1 集合运算...转载 2020-04-14 07:07:44 · 99 阅读 · 0 评论 -
4-Python数据类型之元组-字符串
4-Python数据类型之元组-字符串目录1 元组概念 1.1 元祖的特点 1.2 元组的定义 1.3 元组的访问 1.4 元组的查询 2 命名元组 3 字符串 3.1 字符串的基本操作 3.1.1 字符串的访问 3.1.2 字符串的拼接 3.2 字符串分割 3.3 字符串大小写 3.4 字符串排版 3.5 字符串修改 3...转载 2020-04-13 01:14:12 · 182 阅读 · 0 评论 -
3-Python内置结构-列表
3-Python内置结构-列表目录1 Python内置数据结构 1.1 数值型 1.2 math模块 1.3 round圆整 1.4 常用的其他函数 1.5 类型判断 2 列表 2.1 索引访问 2.2 列表和链表的区别 2.3 列表的查询 2.4 列表元素修改 2.5 列表的追加和插入 2.6 列表使用*重复带来的问题 2.7 删...转载 2020-04-13 01:13:18 · 119 阅读 · 0 评论 -
2-Python基础语法-内存管理-运算符-程序控制
2-Python基础语法-内存管理-运算符-程序控制目录1 Python 基础语法 1.1 注释 1.2 缩进 1.3 续行 1.4 标识符 1.5 转义序列 1.6 数字 1.7 字符串 1.8 其他 2 Python 运算符 2.1 赋值运算符 2.2 算数运算符 2.3 关系运算符 2.4 逻辑运算符 2.5 位运算符 ...转载 2020-04-13 01:10:55 · 141 阅读 · 0 评论 -
1-编程基础及Python环境部署
1-编程基础及Python环境部署目录1 编程基础 1.1 基本概念 1.2 语言分类 1.3 高级语言的发展 2 程序 3 python的语言介绍 4 Python的解释器 5 Python版本区别 6 Python安装 6.1 windows安装 6.2 Linux安装 7 pyenv多版本管理 7.1 pyenv介绍及安装 7.2 v...转载 2020-04-13 01:10:31 · 285 阅读 · 0 评论