![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python语言
文章平均质量分 96
while True:
Linux爱好者,Pythoner。
展开
-
3-Python内置结构-列表
1 Python内置数据结构        Python内置了很多数据结构(容器),供我们直接进行使用,在学习结构之前,有一些小的知识点进行补充。1.1 数值型int、原创 2019-01-03 19:48:54 · 329 阅读 · 0 评论 -
24 - 面向对象基础-多继承-super-mro-Mixin
文章目录1 类的继承2 不同版本的类3 基本概念4 特殊属性和方法5 继承中的访问控制6 方法的重写(override)6.1 super6.2 继承中的初始化7 多继承7.1 多继承弊端7.2 MRO7.3 多继承的建议7.4 Mixin7.4.1 利用装饰器新增功能7.4.2 Mixin类1 类的继承       &am原创 2019-02-19 21:11:07 · 284 阅读 · 0 评论 -
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 多线程3.3 线程安全3.4 daemon和non-daemon线程3.5 join方法3.6 daemon的使用场景3.7 thr...原创 2019-03-02 15:15:08 · 534 阅读 · 0 评论 -
28 - 生成器交互-__slots__-未实现异常
文章目录1 生成器交互2 __slots__3 未实现和未实现异常4 Python的对象模型1 生成器交互生成器提供了一个send方法用于动态的和生成器对象进行交互。怎么理解的呢?看下面的例子:def generator(): a = 0 while True: position = yield a # 格式 if position: ...原创 2019-03-02 19:19:38 · 218 阅读 · 0 评论 -
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 小结2 模块化2.1 导入语句2.1.1 import导入2.1.2 from导入2.2 自定义模块2.3 模块搜索顺序2.4 模块的重...原创 2019-02-26 21:16:43 · 646 阅读 · 0 评论 -
26 - 面向对象高级-上下文管理-反射
文章目录1 上下文管理1.1 上下文管理的安全性1.2 返回值1.3 方法的参数1.4 计算函数的运行时间1.5 主要应用场景1.6 contextlib.contextmanager2 反射2.1 反射相关的函数2.2 反射相关的魔术方法2.2.1 __getattr__2.2.2 __setattr__2.2.3 __delattr__2.3 __getattribute__1 上下文管理...原创 2019-03-03 19:26:39 · 240 阅读 · 0 评论 -
35 - 并发编程-GIL-多进程
文章目录1 GIL1.1 为什么会有GIL1.2 GIL与thread lock1.3 个人总结2 multiprocessing模块2.1 Process类2.2 Process类的方法2.3 Process的其他属性2.3 基本使用2.4 进程同步锁2.5 进程池2.5.1 常用方法2.5.2 AsyncResul对象常用方法2.5.3 回调函数2.6 进程间通讯2.6.1 队列2.6.2 共...原创 2019-03-04 20:19:30 · 364 阅读 · 0 评论 -
33 - 并发编程-线程同步-Event-lock
文章目录1 线程同步1.1 Event1.1.1 什么是Flag?1.1.2 Event原理1.1.3 吃包子1.2 Lock1.2.1 lock方法1.2.2 计数器1.2.3 非阻塞锁1.2.4 锁应用场景1 线程同步 线程同步,线程间协同,通过某种技术,让一个线程访问某些数据时,其他线程不能访问...原创 2019-03-04 20:21:20 · 211 阅读 · 0 评论 -
37 - 网络编程-UDP编程
文章目录1 UDP协议2 UDP通信流程3 UDP编程3.1 构建服务端3.2 构建客户端3.3 常用方法4 聊天室5 UDP协议应用1 UDP协议UDP是面向无连接的协议,使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。虽然用UDP传输数据不可靠,但它的优点是和TCP比,速度快,对于不要求可靠到达的数据,就可以使用UDP协议...原创 2019-03-10 15:54:12 · 301 阅读 · 0 评论 -
39 - 同步-异步-IO多路复用
文章目录1 同步与异步2 阻塞与非阻塞3 什么是IO3.1 内核态用户态3.2 IO两个阶段3.3 IO模型3.3.1 同步阻塞IO3.3.2 同步非阻塞IO3.3.3 IO多路复用3.3.4 异步IO4 Python中的IO多路复用4.1 selectors库4.2 register方法4.3 利用selectors完成IO多路复用版本的EchoServer4.4 聊天室1 同步与异步同步和...原创 2019-03-11 19:57:55 · 244 阅读 · 0 评论 -
41 - 数据库-pymysql
文章目录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注入攻击3.3.3.3 参数化查询3.4 获取查询结果3.4.1 带列明的查询3.5 上下文支持1 Python操作数据库 &nbs...原创 2019-03-16 10:47:34 · 215 阅读 · 0 评论 -
3 - Python内置模块 - concurrent模块
文章目录1 conturrent包2 future模块3 ThreadPoolExecutor对象4 Future对象5 ProcessPoolExecutor对象6 支持上下文管理7 异步爬网站的小例子1 conturrent包conturrent包内只包含了一个future模块,它为异步执行调用提供了高级的接口。2 future模块主要提供了两个用于异步执行的类:...原创 2019-03-12 09:05:53 · 1221 阅读 · 0 评论 -
4 - Python内置模块 - logging模块
文章目录1 logging模块1.1 日志级别1.2 日志格式字符串1.3 快速使用1.3.1 修改日期格式1.3.2 输出到文件中1.3.3 构建消息2 处理流程3 logger类3.1 getLogger工厂方法3.2 实例常用方法3.3 层次结构3.4 为什么是root logger3.5 root logger是啥?3.5.1 basicConfig常用参数3.6 继承关系4 handle...原创 2019-03-12 09:08:25 · 1639 阅读 · 0 评论 -
1 - django-介绍-MTV-命令-基础配置-admin
1 什么是web框架 众所周知,所有的Web应用基本都是基于B/S结构,其本质上其实就是一个socket服务端(web服务器),一个socket客户端(用户浏览器)。下面的代码就是一个简单的web端,运行后,使用浏览器访问,会打印hello world#!/usr/bin/env python#_*...原创 2019-03-21 09:09:58 · 345 阅读 · 0 评论 -
42 - 数据库-orm-SQLAlchemy
文章目录1 ORM2 sqlalchemy3 基本使用3.1 创建连接3.2 创建基类3.3 创建实体类3.4 实例化3.5 创建表3.6 创建会话Session3.7 数据操作3.7.1 增加数据3.7.2 简单查询3.7.3 修改数据3.7.4 删除数据(不建议)3.7.5 状态3.7.6 枚举字段3.7.7 复杂查询3.7.7.1 where条件查询3.7.7.2 排序3.7.7.3 分页(...原创 2019-03-21 09:20:57 · 263 阅读 · 0 评论 -
23 - 面向对象基础-封装-属性-方法-访问控制
文章目录1 面向对象介绍2 面向对象2.1 类class2.2 对象instance/object2.3 Python的哲学思想3 面向对象的要素4 Python的类4.1 类对象及属性4.2 实例化4.2.1 __init__函数4.2.2 实例对象(instance)4.2.3 实例变量和类变量4.2.4 __dict__和变量查找顺序4.2.5 总结4.3 装饰一个类4.4 类方法和静态方法...原创 2019-02-19 21:09:07 · 292 阅读 · 0 评论 -
12 - 树-基础知识-二叉树-完全二叉树-斜树
文章目录1 树2 树的概念3 树的特点4 二叉树4.1 斜树4.2 满二叉树4.3 完全二叉树4.4 二叉树的性质4.4.1 性质14.4.2 性质24.4.3 性质34.4.4 性质44.4.5 性质54.4.6 其他性质1 树        树在数据结构中属于一种非线性结构,每个元素可以有多个前原创 2019-02-19 20:34:37 · 3217 阅读 · 0 评论 -
17 - 路径操作-shutil模块
文章目录1 路径操作1.1 os.path模块1.2 pathlib模块1.2.1 目录操作初始化(一个路径对象)路径拼接和分解获取路径父目录目录的组成部分全局方法及判断方法通配符目录属性1.2.2 文件操作1.3 os 模块2 shutil模块2.1 copy复制2.2 rm删除2.3 move移动2.4 打包1 路径操作  ...原创 2019-02-19 20:33:04 · 465 阅读 · 0 评论 -
4-Python数据类型之元组-字符串
1 元组概念        元组(类型为 tuple)和列表十分相似,但是元组和字符串一样是不可变的。1.1 元祖的特点元组可以存储一系列的值,使用小括号来定义,是一个原创 2019-01-05 15:26:54 · 404 阅读 · 0 评论 -
1-编程基础及Python环境部署
1 编程基础    &原创 2018-12-31 21:22:54 · 555 阅读 · 0 评论 -
2-Python基础语法-内存管理-运算符-程序控制
1 Python 基础语法        所有语言都有它自己规定的格式,Python也不例外,下面从几个方面来了解。1.1 注释&nbsp原创 2019-01-02 00:00:59 · 500 阅读 · 0 评论 -
6 - Python内置结构 - 字典
文章目录1 字典介绍2 字典的基本操作2.1 字典的定义2.2 字典元素的访问2.3 字典的增删改3 字典遍历3.1 遍历字典的key3.2 遍历字典的value3.3 变量字典的键值对3.4 字典遍历小结4 defaultdict默认值字典5 OrdereDict有序字典1 字典介绍     &nb...原创 2019-01-11 21:47:23 · 289 阅读 · 0 评论 -
7 - 列表解析式-生成器
文章目录1 解析式2 列表解析式2.1 列表解析式进阶3 其他解析式3.1 集合表达式3.2 字典解析式4 生成器表达式4.1 特点4.2 next函数5 总结1 解析式        从一个问题来看解析式,现有如下需求:生成一个列表,元素0-9,对每一原创 2019-01-19 20:13:34 · 321 阅读 · 0 评论 -
10 - 函数嵌套-作用域-闭包-LEGB-函数销毁
文章目录1 函数嵌套2 作用域2.1 global关键字3 闭包3.1 nonlocal关键字4 默认值的作用域5 变量名解析原则LEGB6 函数的销毁1 函数嵌套        一个函数中存在另外一个函数(定义/调用),这种方式我们称之为函数嵌套。所以:函数的嵌原创 2019-01-19 20:14:49 · 432 阅读 · 0 评论 -
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 映射2 柯里化3 装饰器3.1 需求分析3.2 函数柯里化3...原创 2019-01-19 20:16:14 · 1166 阅读 · 4 评论 -
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类型注解     &a原创 2019-01-19 20:17:20 · 1358 阅读 · 0 评论 -
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改造3.4 lsu_cache的总结介绍  &a原创 2019-01-20 22:07:54 · 315 阅读 · 0 评论 -
5-python的封装与结构 - set集合
1 封装与解构        封装与解构属于Python语言的一种特性,它使用起来很像其他语言中的"逗号表达式",但内部原理是不同的,在某些场景下:比如变量交换复制时使用,显得非常优雅。原创 2019-01-09 19:44:07 · 249 阅读 · 0 评论 -
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 协程coriutine4.4 yield from1 函数的执行流程函数的执行需要对函数进行压栈的,什么是压栈呢,简而言之就是在函数执行时在栈中创建栈帧存放...原创 2019-01-20 22:04:48 · 298 阅读 · 0 评论 -
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 keyword-only参数*3.4 参数解构4 函数的返回值1 函数介绍 &nb...原创 2019-01-15 19:35:27 · 441 阅读 · 0 评论 -
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 文件对象的其他方法2 StringIO模块3 BytesIO模块4 file-like对象1 文件操作 &...原创 2019-02-12 14:47:10 · 371 阅读 · 0 评论 -
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.2 实例化3.3 hash相关3.3.1 hash相同能否去重3.3.2 比较内容是否相同3.3.3 坐标轴小例子3.4 bo...原创 2019-02-24 19:37:06 · 258 阅读 · 0 评论 -
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 对实例的数据进行校验3.3.1 直接在__init__函数中检查3.3.2 装饰器版本3.3.3 描述器版本3.3.4 装饰器+...原创 2019-02-24 19:41:05 · 225 阅读 · 0 评论 -
Python的多重继承问题-MRO和C3算法
关于MRO 和 C3算法有一个sina的blog介绍的很好:Python 多重继承mromro即method resolution order,主要用于在多继承时判断调的属性的路径(来自于哪个类)。之前查看了很多资料,说mro是基于深度优先搜索算法的。但不完全正确在Python2.3之前是基于此算法,但从Python2.3起应用了新算法:C3算法。为什么采用C3算法C3算法最早被提出是用于...转载 2019-02-19 15:49:24 · 282 阅读 · 0 评论 -
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操作2.2.4 获取value2.2.5 设置value2.2.6 保存修改后的配置文件2.3 字典的访问方式1 CSV文件...原创 2019-03-18 22:05:42 · 227 阅读 · 0 评论