摘要: 一.c/s b/s c/s架构:客户端(client)/服务器(server) 软件cs架构:微信,陌陌,qq等 硬件cs架构:打印机 b/s架构:浏览器(browser)/服务器(server) 二.网络通信的整个流程 1.交换机(集线器):将所有电脑连接起来 2.网卡:接收处理电信号 3.Mac 阅读全文
posted @ 2019-01-02 22:04 叶落,花开 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 一. os模块 主要是针对操作系统的 用于文件操作 二. sys 模块 模块的查找路径 sys.path 三 pickle 模块 1. pickle.dumps(对象) 序列化 把对象拍散成字节 2.pickle.loads(字节) 反序列化,把字节整合成对象 3.pickle.dump(对象,文件 阅读全文
posted @ 2019-01-02 22:03 叶落,花开 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 一.正则表达式 1.字符组 ① [abc] 匹配a或b或c ② [a-z] 匹配a到z之间的所有字⺟ [0-9]匹配所有阿拉伯数字 2.元字符 3.量词 4.重要搭配 ① .*? ② .*?x 找到下⼀个x为 ③ (?: 正则表达式) 非优先 5.分组 在正则中使⽤()进⾏分组. ?P<name> 阅读全文
posted @ 2019-01-02 22:03 叶落,花开 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 一.模块 1.导入方式 自己创建的模块名称 切不可和 内置模块的一样 ① import 模块 ② import 模块 as 名 设置在此空间的名称 ③ from 模块 import 功能 ④ from 模块 import * 引入所有的功能 __all__=[a,b,c] 调用时只调用[ ]中的功能 阅读全文
posted @ 2019-01-02 22:03 叶落,花开 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 一 .初始模块 1.从⼩到⼤的顺序: ⼀条代码 < 语句块 < 代码块(函数, 类) < 模块 2.引入模块的方式 ① import 模块 ② from 模块 import 功能 二. random模块 三 time 模块 1.时间戳 从1970-01-01 00:00:00 开始以 秒 计算 东八 阅读全文
posted @ 2019-01-02 22:02 叶落,花开 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 三十九, 一.类的约束 1.抛出异常 NotImplementedError 2.抽象方法 含有抽象方法的类是抽象类 抽象类中的方法全是抽象方法的是接口 抽象类不能创建对象 二.异常处理 处理完后代码可继续运行 所有异常的根是Exception 1.基本语法 2.自定义异常 (继承Exception 阅读全文
posted @ 2019-01-02 22:01 叶落,花开 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 三十九 MRO 多继承的继承顺序 一.python2.2之前用的是 经典类的MRO继承 ①深度递归继承 从左到右 ,一条路走到黑 ②广度继承 一层一层的继承 深度继承时 为 R 1 2 3 4 5 6 广度继承时 为 R 1 4 2 3 5 6 二.python2.2 之后用的是 新式的MRO继承 阅读全文
posted @ 2019-01-02 22:01 叶落,花开 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 三十六.面向对象的成员 能写的所有成员 一.变量 1.实例变量 访问时 对象.变量 2.类变量 访问时 类名.变量 注意: 二.方法 1.实例方法 必须有一个参数(self) 调用时 对象.变量() 2.类方法 必须有一个参数(cls) 定义时在方法前加 @classmethod 调用时 类名.变量 阅读全文
posted @ 2019-01-02 22:00 叶落,花开 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 三十七.类与类之间的关系 一.依赖关系 执行某个动作的时候. 需要xxx来帮助你完成这个操作 随时可以更换另外一个东西来完成此操作 此时的关系是最轻的. 二.关联关系(组合关系,聚合关系) 1.一对一关系 2.一对多关系 三.继承关系 (这是最重的关系) self在访问⽅法的顺序: 永远先找⾃⼰的. 阅读全文
posted @ 2019-01-02 22:00 叶落,花开 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 三十八. 一,isinstance, type , issubclass 1.issubclass(x,y) 判断x是否是y 的子类 2.type(x) 精准返回x的数据类型 3.isinstance(x,y) 判断x是否是y类型的数据 只能向上判断 二.区分函数和方法 1.打印变量名有 funct 阅读全文
posted @ 2019-01-02 22:00 叶落,花开 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 三十四.装饰器 1.开闭原则: 对功能的扩展开放,对代码的修改是封闭的(不可修改的) 目的:在目标函数前或后插入一段新的代码,不改变源代码 2.装饰器的通用语法 3.多个装饰器修饰同一个函数 4.带参数的修饰器 语法格式: 实例: 阅读全文
posted @ 2019-01-02 21:59 叶落,花开 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 三十五.初识面向对象 一 .面向对象和面向过程比较 ①面向过程:一切以事物的发展流程为核心 优点:负责的问题流程化,编写相对简单 缺点:可扩展性差 ②面向对象:一切以对象为中心. 一切皆为对象. 具体的某一个事务就是对象 优点:可扩展性强 缺点:编程的复杂度高于面向过程 二.类和对象 ①类:就是图纸 阅读全文
posted @ 2019-01-02 21:59 叶落,花开 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 三十二.递归 1.函数自己调用自己 2.官方说明最大深度1000,但跑不到1000,要看解释器, 实测998 3.使⽤递归来遍历各种树形结构 三十三. 二分法查找 掐头结尾取中间 , 必须是有序序列 1. 2. 3. 4. 阅读全文
posted @ 2019-01-02 21:58 叶落,花开 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 三十、函数进阶 1.生成器 函数中有yield 的就是生成器函数(替代了return) 本质就是迭代器 一个一个的创建对象 节省内存 ①创建生成器 最后以yield结束 1. 通过⽣成器函数 2. 通过各种推导式来实现⽣成器 3. 通过数据的转换也可以获取⽣成器 ②send用法 send 和 __n 阅读全文
posted @ 2019-01-02 21:56 叶落,花开 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 三十一.内置函数 思维导图 1.作用域相关 locals() 返回当前作用域中的名字 globals() 返回全局作用域中的名字 2.迭代器相关 range() 生成数据 next() 迭代器向下执行一次 等价于 .__next__() iter() 获取迭代器 等价于 .__iter__() 3. 阅读全文
posted @ 2019-01-02 21:56 叶落,花开 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 二十九. 1.函数名的运用 ①函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量 ②函数名是一个内存地址 ③ 函数名可以赋值给其他变量 ④函数名可以当做容器类的元素 ⑤函数名可以当做函数的参数 ⑥函数名可以作为函数的返回值 2.闭包 闭包就是内层函数, 对外层函数(非全局)的变 阅读全文
posted @ 2019-01-02 21:55 叶落,花开 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 二十八.函数进阶 1. "*" 和 "**" ① 在形参位置时 都是聚合的作用 *args 位置参数→元组 **kwargs 关键字参数→字典 混合时顺序为: 位置 , *args , 默认值 , **kwargs ② 在实参位置时 都是打散的作用 *args 字符串,元组,字典 → 位置参数 ** 阅读全文
posted @ 2019-01-02 21:55 叶落,花开 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 二十七.初始函数 1.函数: 对代码块和功能的封装和定义 2.格式及语法 def 函数名() # 定义 函数体 函数名() # 调用 3. return 返回None return "x" 返回值为 'x' return "x","y" 同时返回多个结果时, 返回的是元组 一遇到return 就结束 阅读全文
posted @ 2019-01-02 21:54 叶落,花开 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 二十六. 文件 f = open(文件路径,mode = '模式',encoding = '编码格式') 1.基础 ① 读写时,主要看光标的位置 ②操作完成要写 f.close( ) f.flush( ) ③f 文件句柄是一个可迭代对象 可用for 循环 ④要用 \n 进行增减空白 2.文件路径 ① 阅读全文
posted @ 2019-01-02 21:54 叶落,花开 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 二十四.基本数据类型补充 1.join() "*".join("马虎疼") # 马*虎*疼 把传递进去的参数进行迭代. 获取到的每个元素和前面的*进行拼接. 得到的是字符串 split() 切割. 切割的结果是列表, 2.删除和添加 (在for循环中不可操作) ① 建立新列表,将要删除或增加的添加到 阅读全文
posted @ 2019-01-02 21:53 叶落,花开 阅读(107) 评论(0) 推荐(0) 编辑