函数,生成器,迭代器-------------助记

函数:
参数: 形参 实参 默认参数 非固定参数 *args(返回元组形式) **kwargs(返回字典的形式)
调用: 位置参数调用, 关键字参数调用 (关键字参数调用要在位置参数调用之后)


嵌套函数:函数里面包含函数
递归:自己调用自己
匿名函数:lambda
高阶函数:一个函数接收另一个函数作为参数


列表生成式: a = [i for io in range(10)] 缺点:占用内存
生成器(generator):a = (i for i in range(10)) []----->() next() 一个一个的取,取一个生成一个,for 循环是常用方法
如果一个函数电一中包含 yield 关键字,那么这个函数就是一个生成器
遇到 next()调用 遇到yield 就返回,在次执行时从上次返回的yield语句处继续执行
迭代器:可迭代对象Iterable(可以直接作用于for循环) 迭代器Iterator(可以被next()函数调用并不断返回下一个值的对象)
判断方法:isinstance({},Iterable)-->True isinstance({},Iterator)-->Fales
Iterable + iter()-->Iterator isinstance(iter({}),Iterator)-->True


软件开发原则:“开放-封闭”原则
开放:对现有功能的扩展开发
封闭:已实现的功能代码块不应该改被修改(源代码 和 调用方式)

装饰器(语法糖):高阶函数(实现“开放-封闭”原则)

posted @ 2019-03-27 11:28  zwnsyw  阅读(96)  评论(0编辑  收藏  举报