12 2018 档案

摘要:需要实现并发需要依靠socketserver 模块 socketserver模块下有几个功能 TCP协议实现并发编程步骤详解(客户端不需要改动,改动的就是服务端) 阅读全文
posted @ 2018-12-28 09:50 clyde_S 阅读(356) 评论(0) 推荐(0)
摘要:服务端代码 客户端代码 阅读全文
posted @ 2018-12-25 17:30 clyde_S 阅读(268) 评论(0) 推荐(0)
摘要:shutil模块的格式 shutil.copyfileobj(文件1,文件2) #将文件1的数据覆盖copy给文件2 PS:文件2必须存在,不存在报错 shutil.copyfile(文件1,文件2) #不用打开文件,直接用文件名进行覆盖copy shutil.copymode(文件1,文件2):之 阅读全文
posted @ 2018-12-24 17:10 clyde_S 阅读(190) 评论(0) 推荐(0)
摘要:socket()模块函数用法 基于TCP协议的套接字程序 netstart -an | findstr 8080 #查看所有TCP和UDP协议的状态,用findstr进行过滤监听8080端口 服务端套接字函数 s.bind() #绑定(主机,端口号)到套接字s.listen() #开始TCP监听s. 阅读全文
posted @ 2018-12-24 11:22 clyde_S 阅读(341) 评论(0) 推荐(0)
摘要:什么是包 包的本质就是一个包含有__init__.py文件的文件夹 包是模块的一种形式 所以包用来被当做模块导入使用 导入包其实就是在导入包下__init__.py这个文件 为何要用包 就是将功能分类放入文件夹,以后通过文件名可以瞬间定位的需要的功能,一个模块越写越大才要定义成包,通常下载的第三方文 阅读全文
posted @ 2018-12-19 22:13 clyde_S 阅读(187) 评论(0) 推荐(0)
摘要:互联网常见架构 分成两类: C/S: C: client (客户端) S: server (服务端) 用处:QQ wechat,手机端的APP等 B/S: B: browser (浏览器) S: server (服务器) 用处:把浏览器当做客户端的场景,专业术语叫做客户端浏览器,如网页QQ,网页微信 阅读全文
posted @ 2018-12-17 19:23 clyde_S 阅读(1712) 评论(0) 推荐(0)
摘要:什么是套接字socket socket把传输层以下的协议都封装成了简单的接口,我编写基于网络通信的软件只需要调用这些接口即可,写出的程序自然是遵循tcp/udp协议的.... 什么是互联网 互联网=物理连接介质+互联网通信协议 ip+port就可以标识全世界范围内独一无二的一个基于网络通信的软件 为 阅读全文
posted @ 2018-12-17 19:22 clyde_S 阅读(447) 评论(0) 推荐(0)
摘要:什么是异常 异常是程序发生错误的信号,一旦程序出错就会产生一种类型的异常,如果该异常没有被程序处理,就抛出来 程序的运行也随即终止为何要处理异常 为了保障的健壮性如何处理异常 错误分为两大类: 1: 语法错误: 应该在程序运行前就立即改正 2: 逻辑错误: 2.1 如果错误的发生的条件是可以预知的应 阅读全文
posted @ 2018-12-16 21:09 clyde_S 阅读(175) 评论(0) 推荐(0)
摘要:内置方法:__str__(该方法必须返回字符串类型),在对像被打印时自动触发,然后将该方法的返回值当做打印结果输出) 内置方法:__del__(会在对象被删除时自动触发,我们可以在__del__内做一些回收系统资源的事) isinstance(obj,cls)检查obj(一个实例)是否是类 cls 阅读全文
posted @ 2018-12-16 19:59 clyde_S 阅读(242) 评论(0) 推荐(0)
摘要:什么是反射 用字符串来操作对象或者类的属性 PS:其实就是将字符串映射到属性身上来进行操作 hasattr (判断对象有没有属性) hasattr(o,name): 有两个参数,o指的就是对象的意思(也可以放类,python中一切皆对象),name就是属性名 getattr(o,name,defau 阅读全文
posted @ 2018-12-16 11:33 clyde_S 阅读(150) 评论(0) 推荐(0)
摘要:绑定方法 @classmethod 函数功能上面添加这个内置函数就是绑定给类 绑定给类的,参数里面就是cls,cls这个是规范的写法,cls就是指传入的是类 特殊之处: 绑定给谁就应该由谁来调用,会将调用者(点左边的就是调用者)当做第一个参数自动传入 绑定对象的方法: 类中定义的函数在没有被任何装饰 阅读全文
posted @ 2018-12-16 10:55 clyde_S 阅读(206) 评论(0) 推荐(0)
摘要:propetry是一个内置函数,用来将一个功能伪装成一个数据属性 例:将一个接口伪装成数据属性 例:查看、修改和删除接口 PS:但凡被propetry装饰的函数,后面都可以以函数名为起始调用(@name.setter 修改/ @name.deleter 删除) PS:setter对应的就是修改属性, 阅读全文
posted @ 2018-12-16 09:57 clyde_S 阅读(343) 评论(0) 推荐(0)
摘要:1. 什么是封装装:将属性装到一个容器里,该容器可以是类也可以是对象 封:指的是将装到容器里的对象给隐藏起来,该隐藏是对外不对内的 2. 为何要封装 隐藏数据属性的目的 把数据属性隐藏起来,是为了外使用者不能直接操作属性,而是通过类内部开辟的接口来间接地操作属性 我们可以在接口之上附加任意的控制逻辑 阅读全文
posted @ 2018-12-09 21:24 clyde_S 阅读(269) 评论(0) 推荐(0)
摘要:继承是解决类与类之间代码冗余的问题(冗余就是重复也是一种强耦合) 另一种方案就是 组合(解耦合) 组合也是解决类与类之间代码冗余问题的方案 阅读全文
posted @ 2018-12-09 20:54 clyde_S 阅读(172) 评论(0) 推荐(0)
摘要:什么是继承 继承是一种新建类的方式,新建的类称之为子类/派生类,被继承的类称之为父类\基类\超类 继承描述的是一种遗传的关系,父类的属性可以被子类访问到为何要继承 解决类与类之间代码冗余的问题如何用继承 在python中继承的特点: 1. 在python中一个子类可以同时继承多个父类 2. 在pyt 阅读全文
posted @ 2018-12-09 16:15 clyde_S 阅读(236) 评论(0) 推荐(0)
摘要:class OldboyStudent: PS:上面的列子对于相同的特征都是用重复代码写入,这样的写法是可以改进的 改进一 PS:将相同的特征放入一个函数中,调用的时候传入参数,但是每次都要重复写调用,其实重复写调用也可以简化 改进二 PS:把函数放入类体的内部,然后想要每次调用类的时候自动运行,就 阅读全文
posted @ 2018-12-09 11:08 clyde_S 阅读(655) 评论(0) 推荐(0)
摘要:类的定义格式 class Setset: #Python中类名推荐使用驼峰体,函数却不推荐使用驼峰体 类的定义实例 class OldboyStudent: # 相似的特征: school = 'oldboy' # 相似的技能 def choose_course(self): print('choo 阅读全文
posted @ 2018-12-09 10:02 clyde_S 阅读(270) 评论(0) 推荐(0)
摘要:什么是类 类即类别、种类,是面向对象设计最重要的概念,对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体 在现实世界中:先有对象,再有类 世界上肯定是先出现各种各样的实际存在的物体,然后随着人类文明的发展,人类站在不同的角度总结出了不同的种类,如人类、动物类、植物类等概念 也就说, 阅读全文
posted @ 2018-12-07 16:19 clyde_S 阅读(153) 评论(0) 推荐(0)
摘要:面向过程的程序设计 什么是面向过程的程序设计 即过程二字是核心,过程指的是解决问题的步骤,即先干什么再干什么。基于面向过程设计程序就好比在设计一条流水线,是一种机械式的思维方式。若程序一开始是要着手解决一个大的问题,面向过程的基本设计思路就是把这个大的问题分解成很多个小问题或者子过程,这些子过程在执 阅读全文
posted @ 2018-12-07 15:03 clyde_S 阅读(253) 评论(0) 推荐(0)
摘要:什么是模块 计算机开发过程中,随着程序代码越写越多,在一个文件夹里代码就会越来越长,越来越不容易维护 为了编写可维护的代码,把函数分数,分别放到不同的文件里,这样,每个文件包含的代码就相对减少,在Python中一个.py文件就是一个模块 模块分为三种 1、内置标准模块 2、第三方开源模块 3、自定义 阅读全文
posted @ 2018-12-07 14:31 clyde_S 阅读(397) 评论(0) 推荐(0)
摘要:import sysprint(sys.argv) #默认获取当前文件的路径import os os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ( 阅读全文
posted @ 2018-12-05 21:05 clyde_S 阅读(201) 评论(0) 推荐(0)
摘要:import random print(random.random()) #得到一个随机的数,但是随机的数的范围是(0,1),这里用小括号(开曲线)代表取不到0也取不到1,o-1之间只有小数,所以只能取到小数 print(random.randint(1, 3)) # 得到一个指定范围随机数[1,3 阅读全文
posted @ 2018-12-05 20:32 clyde_S 阅读(339) 评论(0) 推荐(0)
摘要:什么是时间模块 就是处理时间相关的功能 如用户注册的时间、统计程序运行的时间等 time 模块 计算机中有三种时间 1、时间戳 从1970年到今天,这个时间段中间经历的秒数 获取时间戳:time.time() 通常用来做时间间隔计算的 2、格式化的字符串形式 time.strftime('%Y-%m 阅读全文
posted @ 2018-12-05 20:04 clyde_S 阅读(514) 评论(0) 推荐(0)
摘要:这个模块的主要用途就是执行系统命令 什么是进程 一个程序运行起来了就是一个进程 但是程序本身不是进程,程序是一对代码而已 所以进程就是一个抽象的概念,就是程序运行起来的一个过程 进程和进程之间是相互独立的,互不影响 如何理解子进程和父进程 抽象的说一个QQ程序是一个父进程,word就是一个子进程,两 阅读全文
posted @ 2018-12-05 19:24 clyde_S 阅读(258) 评论(0) 推荐(0)
摘要:日志分成几个常用的级别 debug 10 代表程序调试过程中的信息 info 20 代表普通日志信息,用户的访问等等 warning 30 警告日志,有可能出错,但是目前还没出错的 error 40 程序明确的错误 critical 50 软件崩溃等严重的问题产生的日志 日志特点:向上传递 比如日志 阅读全文
posted @ 2018-12-02 16:59 clyde_S 阅读(306) 评论(0) 推荐(0)
摘要:什么是正则表达式 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 生活中处处都 阅读全文
posted @ 2018-12-02 11:56 clyde_S 阅读(210) 评论(0) 推荐(0)
摘要:hash算法模块内有很多种,如md5、sha1等,只是加密的程度不一样 hash是一种算法 该算法接收传入的文本内容,经过hash运算得到一串hash值 hash值具备三个特点: 1. 如果传入的内容相同,得到hash一定相同 2. 不能根据hash值反推出内容(无法反解,但是目前已被破解) 3. 阅读全文
posted @ 2018-12-02 11:14 clyde_S 阅读(191) 评论(0) 推荐(0)
摘要:json 和pickle 模块 json和pickle模块下都有4个功能 dumps < > loads (序列化 < >反序列化) dump < > load (简单写法序列化< > 简单写法反序列化) 用途:序列化模块 什么是序列化 序列化就是把内存中数据类型转换成一种可以存储到硬盘/基于网络传 阅读全文
posted @ 2018-12-02 10:09 clyde_S 阅读(177) 评论(0) 推荐(0)