随笔分类 -  python

摘要:WSGI Python Web Server Gateway Interface(python web服务器网关接口),实际上就是一种协议,我们的应用(Django,Flask)实现了WSGI,就可以配合实现了WSGI的服务器(uWSGI,gunicorn)来工作了。 以下是WSGI工作的生命周期两 阅读全文
posted @ 2021-01-17 13:30 下山打老虎i 阅读(129) 评论(0) 推荐(0)
摘要:原文出处:https://www.cnblogs.com/alex3714/articles/7550940.html 编码种类 ASCII占1个字节,只支持英文 GB2312占2个字节,支持6700+汉字 GBK GB2312的升级版,支持21000+汉字 Shift-JIS日本字符 TIS-62 阅读全文
posted @ 2020-11-12 18:15 下山打老虎i 阅读(153) 评论(0) 推荐(0)
摘要:'==' VS 'is' 等于(==)和 is 是python中对象比较常用的两种方式。简单来说,'=='操作符比较对象之间的值是否相等,比如下面的例子,表示比较变量 a 和 b 所指向的值是否相等。 a == b 在python中,每个对象的身份标识,都能通过函数id(object)获得。因此,' 阅读全文
posted @ 2020-03-31 10:55 下山打老虎i 阅读(354) 评论(0) 推荐(0)
摘要:virtualenv是用来创建虚拟环境的软件工具 virtualenvwrapper软件包可以让我们更加方便的管理虚拟环境 安装virtualenvwrapper: 1. pip install virtualenvwrapper (win安装:virtualenvwrapper-win) 2. 配 阅读全文
posted @ 2020-03-12 23:23 下山打老虎i 阅读(233) 评论(0) 推荐(0)
摘要:介绍 官方文档:https://www.rabbitmq.com/tutorials/tutorial-one-python.html RabbitMQ是一个基于AMQP协议的消息代理。它的工作就是接收和转发消息。你可以把它想像成一个邮局:你把信件放入邮箱,邮递员就会把信件投递到你的收件人处。在这个 阅读全文
posted @ 2019-05-27 13:12 下山打老虎i 阅读(757) 评论(0) 推荐(0)
摘要:目录 认识模块 什么是模块 模块的导入和使用 常用模块一 collections模块 时间模块 random模块 os模块 sys模块 序列化模块 re模块 常用模块二 hashlib模块 configparse模块 logging模块 什么是模块 模块的导入和使用 collections模块 时间 阅读全文
posted @ 2019-03-26 17:24 下山打老虎i 阅读(764) 评论(0) 推荐(0)
摘要:​ 在学习了python的函数式编程后,又接触到了logging这样一个强大的日志模块。为了减少重复代码,应该不少同学和我一样便迫不及待的写了一个自己的日志函数,比如下面这样: 函数写好了,看起来似乎也没有问题,我们来运行一下! 结果如下: 日志居然重复输出了,且数量递增。 问题解析 实际上logg 阅读全文
posted @ 2019-03-26 16:34 下山打老虎i 阅读(1219) 评论(0) 推荐(0)
摘要:IO模型 IO模型介绍 阻塞IO(blocking IO) 非阻塞IO(non-blocking IO) 多路复用IO(IO multiplexing) 异步IO(Asynchronous I/O) IO模型比较分析 selectors模块 一 IO模型介绍 本文讨论的背景是Linux环境下的net 阅读全文
posted @ 2019-02-13 11:37 下山打老虎i 阅读(614) 评论(0) 推荐(0)
摘要:协程 引子 协程介绍 Greenlet Gevent介绍 Gevent之应用举例 一 引子 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切 阅读全文
posted @ 2019-02-02 22:28 下山打老虎i 阅读(566) 评论(0) 推荐(0)
摘要:进程池与线程池 在刚开始学多进程或多线程时,我们迫不及待地基于多进程或多线程实现并发的套接字通信,然而这种实现方式的致命缺陷是:服务的开启的进程数或线程数都会随着并发的客户端数目地增多而增多,这会对服务端主机带来巨大的压力,甚至于不堪重负而瘫痪,于是我们必须对服务端开启的进程数或线程数加以控制,让机 阅读全文
posted @ 2019-01-30 16:04 下山打老虎i 阅读(6483) 评论(0) 推荐(0)
摘要:GIL(Global Interpreter Lock)与多线程 GIL介绍 GIL与Lock GIL与多线程 多线程性能测试 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势。 GIL并不是Python的特性,他是在实现Python解释器(Cpyth 阅读全文
posted @ 2019-01-30 10:40 下山打老虎i 阅读(2223) 评论(0) 推荐(0)
摘要:线程 什么是线程 线程的创建开销小 线程与进程的区别 为何要用多线程 多线程的应用举例 开启线程的两种方式 在一个进程下开启多个线程与在一个进程下开启多个子进程的区别 多线程并发的socket服务器 线程相关的其他方法 守护线程 死锁现象与递归锁 信号量Semaphore 定时器 线程queue 一 阅读全文
posted @ 2019-01-29 17:14 下山打老虎i 阅读(576) 评论(0) 推荐(0)
摘要:进程 什么是进程 进程调度 进程的并行与并发 进程的创建与结束 在python程序中的进程操作 守护进程 进程同步(multiprocess.Lock) 进程间通信——队列 生产者消费者模型 进程池和multiprocess.Pool模块 什么是进程 进程调度 进程的并行与并发 进程的创建与结束 在 阅读全文
posted @ 2019-01-29 11:44 下山打老虎i 阅读(726) 评论(0) 推荐(0)
摘要:操作系统发展史 手工操作 —— 穿孔卡片 批处理 —— 磁带存储 多道程序系统 操作系统的作用 手工操作 —— 穿孔卡片 批处理 —— 磁带存储 多道程序系统 操作系统的作用 手工操作 —— 穿孔卡片 1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作 阅读全文
posted @ 2019-01-28 16:08 下山打老虎i 阅读(375) 评论(0) 推荐(0)
摘要:socket网络编程 socket是什么 套接字分类 套接字工作流程 基于TCP的套接字 基于UDP的套接字 粘包现象 什么是粘包 socket是什么 套接字分类 套接字工作流程 基于TCP的套接字 基于UDP的套接字 粘包现象 什么是粘包 socket是什么 Socket是应用层与TCP/IP协议 阅读全文
posted @ 2019-01-25 21:38 下山打老虎i 阅读(759) 评论(0) 推荐(0)
摘要:本文参考文章:http://www.cnblogs.com/linhaifeng/articles/6129246.html 计算机基础知识 客户端软件基于网络发送一条信息给服务端软件,流程是: 1、客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统内存 阅读全文
posted @ 2019-01-22 13:14 下山打老虎i 阅读(405) 评论(0) 推荐(0)
摘要:面向对象进阶: isinstance和issubclass 反射 __setattr__,__getattr,__delattr__ __setitem__,__getitem,__delitem__ __str__,__repr__,__format__ __del__ isinstance和is 阅读全文
posted @ 2019-01-22 11:21 下山打老虎i 阅读(374) 评论(0) 推荐(0)
摘要:一 什么是异常 异常就是程序运行时发生错误的信号(在程序出现错误时,会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止)。 在python中,错误触发的异常如下 而错误分成两种 1.语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误 阅读全文
posted @ 2019-01-16 10:43 下山打老虎i 阅读(977) 评论(0) 推荐(0)
摘要:原文出处:http://www.cnblogs.com/linhaifeng/articles/8029564.html exec的使用 #可以把exec命令的执行当成是一个函数的执行,会将执行期间产生的名字存放于局部名称空间中 g={ 'x':1, 'y':2 } l={} exec(''' gl 阅读全文
posted @ 2019-01-15 17:55 下山打老虎i 阅读(978) 评论(0) 推荐(0)
摘要:知识点: 面向过程VS面向对象 初识类和对象 对象之间的交互 类与对象之间的命名空间 面向对象的组合用法 面向对象的三大特性(封装、继承、多态) 继承 抽象类和接口类 多态 封装 -- (property装饰器) 绑定方法和非绑定方法 -- (classmethod 和 staticmethod装饰 阅读全文
posted @ 2019-01-12 21:55 下山打老虎i 阅读(272) 评论(0) 推荐(0)