摘要: 同时两个客户端连接, server 不能有input server端根据client端的要求去执行固定的代码 server.py client1.py client2.py 阅读全文
posted @ 2018-06-13 16:59 王竹笙 阅读(146) 评论(0) 推荐(0) 编辑
摘要: IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同 阅读全文
posted @ 2018-06-12 18:19 王竹笙 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 前言 之前我们学习了线程、进程的概念,了解了在操作系统中进程是资源分配的最小单位,线程是CPU调度的最小单位。按道理来说我们已经算是把cpu的利用率提高很多了。但是我们知道无论是创建多进程还是创建多线程来解决问题,都要消耗一定的时间来创建进程、创建线程、以及管理他们之间的切换。 随着我们对于效率的追 阅读全文
posted @ 2018-06-12 18:13 王竹笙 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 理论知识 操作系统背景知识 进程指正在执行的一个过程,进程是对正在运行程序的一个抽象 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。真正了解进程,必须事先了解操作系统。 必备的理论基础: 什么是进程 阅读全文
posted @ 2018-06-11 21:13 王竹笙 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 单独导入包 单独导入包名称时不会导入包中所有包含的所有子模块,如 解决方法: 执行 千万别问:__all__不能解决吗,__all__是用于控制from...import * 阅读全文
posted @ 2018-05-28 18:30 王竹笙 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 一、软件开发架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的 阅读全文
posted @ 2018-05-28 11:48 王竹笙 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 在python开发的过程中,经常会遇到需要打印各种信息。海量的信息堆砌在控制台中,就会导致信息都混在一起,降低了重要信息的可读性。这时候,如果能给重要的信息加上字体颜色,那么就会更加方便用户阅读了。 当然了,控制台的展示效果有限,并不能像前段一样炫酷,只能做一些简单的设置。不过站在可读性的角度来看, 阅读全文
posted @ 2018-05-28 09:14 王竹笙 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 一、isinstance 和 issubclass isinstance(obj,cls)检查obj是否是类cls的对象,是则返回True issubclass(sub,super)检查sub类是否是supper 类的派生类 二、反射 1、什么是反射 反射的概念是由Smith在1982年首次提出的, 阅读全文
posted @ 2018-05-22 18:01 王竹笙 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 一、hashilb 模块 python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 摘要算法就是通过 摘要函数f() 对 任意长度的数据da 阅读全文
posted @ 2018-05-21 11:03 王竹笙 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 引子 你现在是一家游戏公司的开发人员,现在你需要开发一款叫做《人猫大战》的小游戏,你就思考呀,人猫大战,那至少需要两个角色,一个是人,一个是猫,且人和猫有不同的技能,比如人拿棍打狗,狗可以咬人,让我们来描述这种不同角色和他们的功能? 首先定义初始技能,描述两个角色 #人和狗初始角色1 def Per 阅读全文
posted @ 2018-05-14 12:14 王竹笙 阅读(572) 评论(0) 推荐(0) 编辑