09 2019 档案

摘要:一、算法引入 依据三个变量之间的关系,减少一个变量,降低维度 二、时间复杂度 1、为什么需要复杂度 事后统计法:把代码跑一遍,通过统计、监控,就能得到算法执行的时间和占用的内存大小。 测试结果非常依赖测试环境 测试结果受数据规模的影响很大 需要一个不用具体的测试数据来测试,就可以粗略地估计算法的执行 阅读全文
posted @ 2019-09-29 20:17 败家小林 阅读(220) 评论(0) 推荐(0)
摘要:一、CSV文件 1、读取 reader = csv.reader(打开的file对象), reader为可迭代对象 2、用namedtuple映射列名 3、读取到字典表 二、JSON模块 json.dumps() 转换成json类型的字符串 json.loads() 从json字符串读取 json. 阅读全文
posted @ 2019-09-16 23:08 败家小林 阅读(210) 评论(0) 推荐(0)
摘要:一、概述 用于管理和增强函数和类行为的代码 提供一种在函数或类定义中插入自动运行代码的机制 特点 更明确的语法 更高的代码可维护性 更好的一致性 二、编写 1、函数基础 将函数赋给变量 将函数作为参数传递 函数嵌套及跨域访问 2、函数定义装饰器 3、类定义装饰器 不易用于类方法 4、装饰器参数 阅读全文
posted @ 2019-09-15 20:50 败家小林 阅读(140) 评论(0) 推荐(0)
摘要:一、概述 1、非并发 程序由单个步骤序列构成 包含独立子任务的程序执行性能低 2、并发 异步、高效 分解子任务、简化流程与逻辑 3、进程process 一个程序的执行实例 每个进程有自己的地址空间、内存、数据栈及辅助数据 4、线程 同一进程内,可被并行激活的控制流 共享相同上下文(空间地址、数据结构 阅读全文
posted @ 2019-09-15 19:25 败家小林 阅读(152) 评论(0) 推荐(0)
摘要:一、概念 命令行工具 Shell脚本 系统管理 二、系统模块 sys 提供一组功能映射Python运行时的操作系统 os 提供跨平台可移植的操作系统编程接口 os.path 提供文件及目录工具的可移植编程接口 三、sys 平台与版本 sys.platform sys.version sys.path 阅读全文
posted @ 2019-09-10 22:33 败家小林 阅读(136) 评论(0) 推荐(0)
摘要:一、概述 1、概念 Regular Expression 一种文本模式,描述在搜索文本时要匹配的一个或多个字符串 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等 阅读全文
posted @ 2019-09-10 21:07 败家小林 阅读(436) 评论(0) 推荐(0)
摘要:一、概述 1、类型 str 字符串 bytes 字节 bytearray 字节数组 2、字符编码架构 字符集:赋值一个编码到某个字符,以便在内存中表示 编码 Encoding:转化字符为原始字节形式 解码 Decoding:一句编码名称转换原始字节到字符的过程 3、字符串存储 编码只作用于文件存储或 阅读全文
posted @ 2019-09-08 10:10 败家小林 阅读(166) 评论(0) 推荐(0)
摘要:一、扁平文件 文本文件 二、pickle 1、序列化为字符串 将对象序列化为字符串 pickle.dumps(obj) 从字符串反序列化为对象 pickle.loads(s) 2、序列化对象到文件 对象序列化为文件 pickle.dump(obj, file) 文件反序列化为对象 pickle.lo 阅读全文
posted @ 2019-09-08 09:03 败家小林 阅读(173) 评论(0) 推荐(0)
摘要:一、datetime 1、date 2、time 3、datetime year month day 4、格式转换 字符串到日期时间 datetime.datetime.strptime(‘txt’, ‘%Y %m %d’) 日期时间到字符串 datetime.datetime.strftime( 阅读全文
posted @ 2019-09-07 20:46 败家小林 阅读(212) 评论(0) 推荐(0)
摘要:一、小数 1、格式化 2、小数位的处理 math.trunc() 截断(保留整数) math.floor() 向下取整 math.ceil() 向上取整 round(数值变量,保留位数) 四舍五入 二、随机数 random.choice() 序列中随机选择一个值 random.sample() 获取 阅读全文
posted @ 2019-09-07 20:08 败家小林 阅读(341) 评论(0) 推荐(0)
摘要:一、测试级别 1、单元测试 对代码最基本单元(函数、方法)的测试 给予特定条件判断结果是否符合预期 相对整个程序的测试,单元测试简化了测试任务 unittest模块 2、集成测试 3、系统测试 4、验收测试 5、回归测试 二、代码组织 1、断言 assertEqual(值,表达式)是否相等 asse 阅读全文
posted @ 2019-09-07 18:14 败家小林 阅读(163) 评论(0) 推荐(0)
摘要:错误类型 1、语法错误 SyntaxError:代码拼写出错 AttributeError:属性异常 2、语义错误 3、逻辑错误 二、异常处理 1、try:有可能出现异常代码 2、except:异常类型 as 实例:捕获特定异常 3、finally:不论是否遇到异常均会执行 4、else:未遇到异常 阅读全文
posted @ 2019-09-07 18:13 败家小林 阅读(160) 评论(0) 推荐(0)
摘要:包与模块管理 模块 指令 import from importlib.reload(模块) 重新导入模块 包 why 代码重用 命名空间 实现数据或服务共享 步骤 1、找到模块文件 2、编译为字节码 3、 运行模块文件 搜索范围 1、程序主目录 2、环境变量 3、 标准库 4、 扩展库 阅读全文
posted @ 2019-09-04 23:15 败家小林 阅读(156) 评论(0) 推荐(0)
摘要:面向对象 1、步骤 OOA面向对象分析 OOD面向对象设计 OOP面向对象编程 2、实现 分析对象特征行为 写类描述对象模板 实例化,模拟过程 3、特征 面向过程编程: 数据和处理数据的函数是彼此独立的,我们需要先将数据处理成函数能接受的格式,再调用相关函数处理 面向对象编程: 数据和处理数据的函数 阅读全文
posted @ 2019-09-04 23:14 败家小林 阅读(197) 评论(0) 推荐(0)
摘要:一、函数 1、匹配 位置匹配 关键字匹配 默认值(调用时省略传值) args 任意数量参数 kwargs 2、lambda表达式 定义匿名函数 基本格式 lambda 参数1,..:函数 3、高级工具 map(函数,可迭代对象) 第一个参数 function 以参数序列中的每一个元素调用 funct 阅读全文
posted @ 2019-09-03 22:27 败家小林 阅读(181) 评论(0) 推荐(0)
摘要:一、迭代 1、迭代协议 __next__() 可迭代对象内部实现了f.__next__()方法 next()方法与__next__都是每次只打印一行 2、迭代工具 for...推导...map... 迭代器对象== 已经实现 iter()用于生成迭代器 列表List并没有内置 但是我们可以使用ite 阅读全文
posted @ 2019-09-02 22:56 败家小林 阅读(345) 评论(0) 推荐(0)
摘要:表达式 代码风格 代码格式指南 PEP8 缩进4空格 一行不超过79 空行 赋值语句 基本 序列赋值 形如“a,b,c = 'youpin'”这样的赋值语句是会报错的 可以使用一下方法解决: 拓展序列解包赋值 变量,获取剩余元素到list 多目标赋值 a = b = 0 一个例子理解内部存储256限 阅读全文
posted @ 2019-09-01 23:04 败家小林 阅读(241) 评论(0) 推荐(0)
摘要:1、字典表dict 声明 {键: 值,...} dict(键=值) 操作 获取:d['键']、 d.get('键', 默认值) 合并:d.update(d2) 属性 keys() values() items() 排序键 将keys()放入列表 使用全局函数sorted() 报错信息如下: 第一种: 阅读全文
posted @ 2019-09-01 19:26 败家小林 阅读(254) 评论(0) 推荐(0)