随笔分类 -  python

1 2 下一页
python 数据库连接池DButils
摘要:常规的数据库链接存在的问题: 场景一: 存在问题:每一次请求就得创建数据库链接,可能我们处理数据只需要很少时间,而连接数据库却占了很长时间,每次请求反复创建数据库连接,连接数太多,造成数据库性能的损耗 场景二: 把数据库链接放到常量中去了,这样就可以保证每次请求都只创建一次数据库链接,但是还是存在问 阅读全文
posted @ 2019-06-10 21:22 Zander-zhao 阅读(220) 评论(0) 推荐(0)
python 异步IO(syncio) 协程
摘要:python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程。无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态。使用协程可以实现高效的并发任务。Python的在3.4中引入了协程的概念,可是这个还是以生成器对象 阅读全文
posted @ 2019-04-29 19:04 Zander-zhao 阅读(1230) 评论(0) 推荐(0)
python 并发编程之IO模型
摘要:一 IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能 阅读全文
posted @ 2019-04-29 19:02 Zander-zhao 阅读(193) 评论(0) 推荐(0)
python 并发协程
摘要:一 引子 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间 阅读全文
posted @ 2019-04-23 20:04 Zander-zhao 阅读(159) 评论(0) 推荐(0)
Cpython 支持的线程
摘要:一 理论部分 一 什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 车间负责把资源整合到一起,是一个资源单位,而一个车间内至少有一个流水线 流水线的工作需要电源,电源就相当 阅读全文
posted @ 2019-04-23 20:00 Zander-zhao 阅读(377) 评论(0) 推荐(0)
python GIL(Global Interpreter Lock)
摘要:一 介绍 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC,INTEL C++,Visual C++等。Python也一样,同样一 阅读全文
posted @ 2019-04-23 19:49 Zander-zhao 阅读(187) 评论(0) 推荐(0)
python 进程和线程(代码知识部分)
摘要:二、代码知识部分 一 multiprocessing模块介绍: python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing 阅读全文
posted @ 2019-04-19 14:50 Zander-zhao 阅读(190) 评论(0) 推荐(0)
python socket文件传输实现
摘要:简单版 server(服务端) client(客户端) 优化之后的版本 server client 阅读全文
posted @ 2019-04-19 12:50 Zander-zhao 阅读(3231) 评论(5) 推荐(0)
python 进程与线程(理论部分)
摘要:一、理论部分 一 什么是进程 进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 举例(单核+多道,实现多个进程的并发执行): egon在一个时间段内有很多任务要做:python备课的任务,写书的任务,交女朋友的任务,王者荣耀上分的任务, 但egon同一时刻只能做一个任务(cpu同一 阅读全文
posted @ 2019-04-19 12:39 Zander-zhao 阅读(212) 评论(0) 推荐(0)
关于操作系统的介绍
摘要:操作系统介绍 一、为什么要有操作系统 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。 一般而言,现代计算机系统是一个复杂的系统。 其一:如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了(严重影响了程序员的开发效 阅读全文
posted @ 2019-04-19 12:32 Zander-zhao 阅读(344) 评论(0) 推荐(0)
python 网络编程之socket开发和socketserver模块
摘要:一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频) C/S架构与socket的关系: 我们学习socket就是 阅读全文
posted @ 2019-04-19 12:12 Zander-zhao 阅读(458) 评论(0) 推荐(0)
python 反射和内置方法
摘要:一、isinstance和issubclass 二、反射 python面向对象中的反射:通过字符串的形式操作对象相关的属性。python中的一切事物都是对象(都可以使用反射) 四个方法:hasattr(),getattr(),setattr(),delattr() 1.对象中 class Foo: 阅读全文
posted @ 2019-04-07 20:23 Zander-zhao 阅读(240) 评论(0) 推荐(0)
python 元类以及练习
摘要:练习 阅读全文
posted @ 2019-04-07 17:08 Zander-zhao 阅读(204) 评论(0) 推荐(0)
python 封装,隐藏属性,绑定方法classmethod和staticmethod
摘要:【封装】 隐藏对象的属性和实现细节,仅对外提供公共访问方式。 【好处】 1. 将变化隔离; 2. 便于使用; 3. 提高复用性; 4. 提高安全性; 【封装原则】 1. 将不需要对外提供的内容都隐藏起来; 2. 把属性都隐藏,提供公共方法对其访问。 私有变量和私有方法 在python中用双下划线开头 阅读全文
posted @ 2019-04-07 17:03 Zander-zhao 阅读(464) 评论(0) 推荐(0)
python 小练习('''产生了多少个对象''')('''模拟两个英雄,昵称,攻击力,生命值''')
摘要:'''小练习 计数器,产生了多少个对象''' # class Student: # school = 'luffycity' # count = 0 # def __init__(self, name, age, sex): # self.name = name # self.sex = sex # self.age = a... 阅读全文
posted @ 2019-04-07 16:37 Zander-zhao 阅读(414) 评论(0) 推荐(0)
python 接口(抽象) 多态,鸭子类型, 多继承原理(mro)
摘要:抽象类与接口类 接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码重用) 二:声明某个子类兼容于某基类,定义一个接口类Interface,接口类中定义了一些接口名(就是函数名)且并未实现接口的功能,子类继承接口类,并且实现接口中的功能 开发中容易出现的问题 接口初成:手动 阅读全文
posted @ 2019-04-07 16:33 Zander-zhao 阅读(458) 评论(0) 推荐(0)
python 继承与组合
摘要:一、组合 二、继承(什么是什么的关系) 什么是继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 查看继承 提示:如果没有指定基类,python的类会默认继承object类,o 阅读全文
posted @ 2019-04-01 23:25 Zander-zhao 阅读(782) 评论(0) 推荐(0)
python 类,对象
摘要:声明类 #在程序中,务必保证:先定义(类),后使用(产生对象) PS: 1. 在程序中特征用变量标识,技能用函数标识 2. 因而类中最常见的无非是:变量和函数的定义 #注意: 1.类中可以有任意python代码,这些代码在类定义阶段便会执行 2.因而会产生新的名称空间,用来存放类的变量名与函数名,可 阅读全文
posted @ 2019-03-27 22:39 Zander-zhao 阅读(166) 评论(0) 推荐(0)
python 面向过程和面向对象比较
摘要:面向过程 VS 面向对象 面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式。 优点是:复杂度的问题简单化、流程化 缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车, 阅读全文
posted @ 2019-03-27 22:29 Zander-zhao 阅读(920) 评论(0) 推荐(0)
python 模块和包以及他们的导入关系
摘要:一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用 阅读全文
posted @ 2019-03-26 18:13 Zander-zhao 阅读(1004) 评论(0) 推荐(0)

1 2 下一页