13. 前⽅⾼能-迭代器和⽣成器本节主要内容:1. 迭代器2. ⽣成器 ⼀. 迭代器我们之前⼀直在⽤可迭代对象进⾏迭代操作. 那么到底什么是可迭代对象. 本⼩节主要讨论可迭代对象. ⾸先我们先回顾⼀下⽬前我们所熟知的可迭代对象有哪些:str, list, tuple, dict, set. 那为什么我们可以称他们为可迭代对象呢? 因为他们都遵循了可迭代协议. 什么是可迭代协议. ⾸先我们先看⼀段错误代码: 注意看报错信息中有这样⼀句话. 'int' object is not iterable…
一.程序解耦 解耦总的一句话来说,减少依赖,抽象业务和逻辑,让各个功能实现独立. 直观理解“解耦”,就是我可以替换某个模块,对原来系统的功能不造成影响.是两个东西原来互相影响,现在让他们独立发展:核心思想还是最小职责,每个地方都只做一件事情:只要一个地方负责了多项事情,就存在解耦的可能.在系统每个层次都可以体现解耦的思想,比如在架构层面把存储和业务逻辑解耦,把动态页面和静态页面解耦:在模块层面把业务模块和统计模块解耦:在代码层面把多个功能解耦等等. 低耦合,高内聚---模块之间低耦合,模块内部高…
模块 简介 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Module). 使用模块有什么好处? 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Pyth…
PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模块的使用方法 系统模块os A:系统模块的使用方法 python解释器交互模块sys A:交互模块的使用方法 序列化模块 A:序列化模块的介绍 B:序列化模块的使用方法 模块的导入 A:模块复用功能的使用说明 B:模块起别名 C:多模块同时导入和模块导入规则 D:from 模块 import 方法…
模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简单冗余知识不再介绍,作者假使你用c/java/c#/c++任一种语言基础.本系列文章属于入门内容,老鸟可以略看也可以略过,新鸟可以从篇一<快速上手学python>先接触下python怎样安装与运行,以及pycharm编辑器的使用和配置:…
PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算符 数据类型 A:数字 B:字符串 C:布尔 D:列表 E:元祖 F:字典 文件基础操作 ♣一:变量 在任何语言中都有变量和赋值这种最基础的操作,也是入门接触改语言的第一件事情. 变量,很多人从字面上理解成变化的量,这个定义不会有太大问题,总的来说变量就是不固定的,可变化的数值或者字符等. 变量我们…
PYTHON基础篇(二) if:else,缩进 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函数基础 A:函数的定义和返回值 B:返回值的三种情况 C:函数的注释 函数的进阶(命名空间和作用域) A:内置命名空间 B:全局命名空间 C:局部命名空间 D:全局作用域 E:局部作用域 F:函数的嵌套和作用域链 G:函数名的本质 闭包 ♣一:if:else和缩进 A:if的基础格式和缩进 我们先看…
PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C:多个装饰器装饰一个函数 迭代器 A:初识迭代器 B:迭代器的优缺点 生成器 A:初识生成器 B:文件监听实例 C:生成器函数的进阶 D:生成器实例(平均值计算器) E:yield from用法 生成器表达式和各种推导式 A:生成器表达式 B:列表推导式 C:字典推导式 D:集合推导式 ♣一:装饰器…
PYTHON基础篇(四) 内置函数 A:基础数据相关(38) B:作用域相关(2) C:迭代器,生成器相关(3) D:反射相关(4) E:面向对象相关(9) F:其他(12) 匿名函数 A:匿名函数基础格式 递归函数 A:初识递归函数 B:递归函数实例 ♣一:内置函数 内置函数是python本身携带的功能,当你打开解释器的时候就随之启动存在了,可以直接去调用,经过python这么多年的发展内置函数也在变多,这个可以去python官网去查询内置函数的说明,这些函数都有一个特点就是可以在函数名后面加…
PYTHON基础篇(五) 算法初识 什么是算法 二分查找算法 ♣一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大量计算机资源,而且耗时,这个时候就有人对这类计算编写了一些策略,这些策略就是算法.这些策略会加快数据计算时间,大大减少计算机的资源消耗. 在长时间人们编写代码的工作中,一些优秀的算法就被流传下来,但是不是所有的算法都能实现目的一步到位的工作,它只能减少你的代码,提高工作效率,随着知识的不断积累,你会…