摘要:
定义:快速形成列表的方式 例: l=['egg%s' %i for i in range(10) if i >=5]print(l) #获得3以后的列表中的值的平方列表 nums=[1,2,3,4,5,6]nums_new=[item**2 for item in nums if item > 3] 阅读全文
摘要:
一、定义 可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象 二、生成器的两种形式(Python有两种不同的方式提供生成器) 1.生成器函数:常规函数定义,但是,使用yield语句而不是return语句返回结果。 阅读全文
摘要:
一、迭代器协议定义: 迭代:是一个重复的过程,每一次重复,都是基于上一次的结果而来 迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 二、可迭代对象定义: 实现了迭代器协议的对象(如何实 阅读全文
摘要:
一、定义 器即函数 装饰即修饰,意指为其他函数添加新功能 装饰器本身可以是任意可调用对象,被装饰的对象本身也可以是任意可调用对象 实现装饰器: 装饰器=高阶函数+函数嵌套+闭包 二、原则: 1 、开放封闭原则:对扩展是开放的,对修改是封闭 2.1 装饰器的遵循的原则:1 不修改被装饰对象的源代码 2 阅读全文
摘要:
在调用一个函数的过程中,由调用了其他函数 阅读全文
摘要:
一、定义: 1. 定义在函数内部的函数 2. 包含对外部作用域名字的引用,而不是对全局作用域名字的引用那么该内部函数就称为闭包函数 二、闭包函数的应用:惰性计算 阅读全文
摘要:
名称空间:存放名字的地方,准确的说名称空间是存放名字与变量值绑定关系的地方 一、名称空间又分为: 内置名称空间:在python解释器启动时产生,存放一些python内置的名字 全局名称空间:在执行文件时产生,存放文件级别定义的名字 局部名称空间:在执行文件的过程中,如果调用了函数,则会产生该函数的局 阅读全文