随笔分类 -  Python开发

摘要:一、IO模型 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,比如wiki,就认为asynchronous IO和non-bloc 阅读全文
posted @ 2017-07-24 22:34 Wang-Vee 阅读(200) 评论(0) 推荐(0)
摘要:一、协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一 阅读全文
posted @ 2017-07-20 23:06 Wang-Vee 阅读(225) 评论(0) 推荐(0)
摘要:一、Event对象 线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就 会变得非常棘手。为了解决这些问题,我们需要使用threading库中的Event对象。 对象包含一个可由线程设置的信号标志,它允许线程 阅读全文
posted @ 2017-07-20 22:45 Wang-Vee 阅读(245) 评论(0) 推荐(0)
摘要:一、threading模块 1、线程对象的创建 1.1 Thread类直接创建 1.2 Thread类继承式创建 2、Thread类的实例方法 2.1 join() 和 steDaemon() daemon A boolean value indicating whether this thread 阅读全文
posted @ 2017-07-19 17:17 Wang-Vee 阅读(229) 评论(0) 推荐(0)
摘要:一 背景知识 进程的概念起源于操作系统,是操作系统最核心的概念。 进程是对正在运行程序的一个抽象,操作系统的其他所有内容都是围绕进程的概念展开的。所以想要真正了解进程,必须事先了解操作系统,点击进入。 进程是操作系统提供的最古老也是最重要的抽象概念之一。即使可以利用的cpu只有一个(早期的计算机确实 阅读全文
posted @ 2017-07-19 17:07 Wang-Vee 阅读(201) 评论(0) 推荐(0)
摘要:FTP上传下载服务器 要求: 1、多用户认证 2、每个用户有自己的家目录 3、ls 查看当前目录 4、get file 下载文件 5、put File 上传文件 6、del file 删除文件或文件夹 7、mkdir dir 创建文件夹 8、cd 切换目录 9、日志记录 目录结构 import op 阅读全文
posted @ 2017-07-18 17:20 Wang-Vee 阅读(288) 评论(0) 推荐(0)
摘要:一、基于UDP的套接字 UDP服务端 UDP客户端 简单示例: 服务端: 客户端: 二、tcp和udp发送接受数据的区别 1、收发消息的原理 发消息,都是将数据发送到自己端的发送缓存中。 收消息,都是从自己端的环从中收取数据。 1. tcp:send发送数据,recv接受数据。 2. udp:sen 阅读全文
posted @ 2017-07-18 17:15 Wang-Vee 阅读(281) 评论(0) 推荐(0)
摘要:一、异常处理 1、错误和异常 1.程序中难免出现错误,而错误分成两种 (1)语法错误(这种错误过不了Python解释器的语法检测,必须在程序执行前改正) #语法错误示范一 if #语法错误示范二 def test: pass #语法错误示范三 class Foo pass #语法错误示范四 prin 阅读全文
posted @ 2017-07-10 19:00 Wang-Vee 阅读(343) 评论(0) 推荐(0)
摘要:一、面向对象软件开发的过程 面向对象的软件工程包括下面几个部: 1.面向对象分析(object oriented analysis ,OOA) 软件工程中的系统分析阶段,要求分析员和用户结合在一起,对用户的需求做出精确的分析和明确的表述,从大的方面解析软件系统应该做什么,而不是怎么去做。面向对象的分 阅读全文
posted @ 2017-07-07 17:09 Wang-Vee 阅读(237) 评论(0) 推荐(0)
摘要:一、绑定方法与非绑定方法 类中定义的函数分成两大类: 1、绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入): 1. 绑定到类的方法:用classmethod装饰器装饰的方法。 为类量身定制 类.boud_method(),自动将类当作第一个参数传入 (其实对象也可调用,但仍将类当作第一 阅读全文
posted @ 2017-07-07 15:13 Wang-Vee 阅读(242) 评论(0) 推荐(0)
摘要:一、继承实现的原来 1、继承顺序 Python的类可以继承多个类。继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先。 如下的结构,新式类和经典类的属性查找顺序都一致。顺序为D >A >E >B >C。 如下的结构,新式类和经典类的属性查找顺序就不一样了。 经典类遵循深度优先,其顺 阅读全文
posted @ 2017-07-05 18:59 Wang-Vee 阅读(640) 评论(0) 推荐(0)
摘要:一、抽象类 1、什么是抽象类 抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化。 2、为什么要有抽象类 如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性。 比如我们有香蕉的类,有苹果的类,有桃子的类,从这些类抽取相同的 阅读全文
posted @ 2017-07-04 20:14 Wang-Vee 阅读(210) 评论(0) 推荐(0)
摘要:一、类的继承、派生和组合 继承是一种创建新类的方式,在Python中,新类可以继承一个或多个父类,父类又可称为基类或者超类,新建的类称为派生类或子类。 在Python3中,所有类都默认继承object,都是新式类。在Python2中,有经典类和新式类。没有继承object类以及object的子类的类 阅读全文
posted @ 2017-07-04 20:11 Wang-Vee 阅读(308) 评论(0) 推荐(0)
摘要:一、面向对象的程序设计 在此之前用到的事面向过程的程序设计,它的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比设计好一条流水线,考虑周全什么时候处理什么东西。 优点:极大的降低了程序的复杂度 缺点是:一套流水线或者流程就是用来解决一个问题,生产汽水的流水线无法生产汽车,即便是 阅读全文
posted @ 2017-07-04 20:02 Wang-Vee 阅读(197) 评论(0) 推荐(0)
摘要:一.模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Mo 阅读全文
posted @ 2017-06-28 15:46 Wang-Vee 阅读(217) 评论(0) 推荐(0)
摘要:一.configparser模块 该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。 创建文件 来看一个好多软件的常见文档格式如下: 如果想用python生成一个这样的文档怎么做呢? 查找文件 增删改操作 二.subp 阅读全文
posted @ 2017-06-27 16:23 Wang-Vee 阅读(183) 评论(0) 推荐(0)
摘要:一.re模块 就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 字符匹配(普通字符,元字符): 1 普通字符:大多数字符和字母都会和自身 阅读全文
posted @ 2017-06-26 16:02 Wang-Vee 阅读(198) 评论(0) 推荐(0)
摘要:1. 1 1,Alex Li,22,13651054608,IT,2013-04-01 2 2,Jack Wang,30,13304320533,HR,2015-05-03 3 3,Rain Liu,25,1383235322,Saies,2016-04-22 4 4,Mack Cao,40,135 阅读全文
posted @ 2017-06-24 15:51 Wang-Vee 阅读(972) 评论(0) 推荐(0)
摘要:一.sys模块 二.logging模块 2.1 函数式的简单配置 默认情况下Python的logging模块将日志打印到了标准输出中,且只显示了大于等于WARNING级别的日志,这说明默认的日志级别设置为WARNING(日志级别等级CRITICAL > ERROR > WARNING > INFO 阅读全文
posted @ 2017-06-22 23:26 Wang-Vee 阅读(313) 评论(0) 推荐(0)
摘要:一.time模块 时间表示形成 在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:(1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time() 阅读全文
posted @ 2017-06-21 15:00 Wang-Vee 阅读(220) 评论(0) 推荐(0)