摘要: def func(filename, aim): with open(filename) as f: for i in f: if aim in i: yield i g = func('D:\\Temp\\minitor.txt', 'hello') for i in g: # 这个g就是func,要求要读完。... 阅读全文
posted @ 2019-10-11 11:40 小然同学 阅读(125) 评论(0) 推荐(0) 编辑
摘要: send()的获取下一个值的效果和__next__一致, 特别:在获取下一个值的时候,给上一个值的位置传递一个数据 注意: 第一次使用生成器的时候,用next获取下一个值(因为没有yield) 最后一个yield不能接受外部的值(错误:ret = yield 2) 获取移动平均值(如淘宝评价): 预 阅读全文
posted @ 2019-10-10 20:04 小然同学 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 优化: 阅读全文
posted @ 2019-10-10 17:29 小然同学 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 自己写的迭代器 生成器函数: 特征:yield替代普通函数的return 作用:执行之后的到一个生成器作为返回值 生成器的停止(准确来说是暂停):添加计数器 阅读全文
posted @ 2019-10-10 16:51 小然同学 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 可以被for循环的:列表,元组,字符串,range(),enumerate()。 用迭代器方便,节省空间(不会把一个程序全部读出,而是一句一句随着循环生成) __next__() 阅读全文
posted @ 2019-10-10 16:47 小然同学 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 趁热打铁 阅读全文
posted @ 2019-10-09 20:50 小然同学 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 原则: 依赖倒置: 开放封闭:对扩展是开发的、对修改是封闭的 装饰器作用:不想修改函数的调用方式,但是想在原来的函数前后添加功能 装饰器固定模式: 还有带返回值的、带参数的。 语法糖: 有语法糖@timmer()就可以把func = timmer(func)去掉 背: 首先定义一函数 中间再加一函数 阅读全文
posted @ 2019-10-09 11:50 小然同学 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 闭包使用场景:在函数外部调用函数内部的函数 闭包优点:在闭包上面(a= 1)只生成一次可以反复使用,而不是每次使用每次生成 理解: 返回函数名 inn = outer() = inner inn() 阅读全文
posted @ 2019-10-09 10:38 小然同学 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 函数名就是内存地址,加()代表执行 阅读全文
posted @ 2019-10-09 10:33 小然同学 阅读(177) 评论(0) 推荐(0) 编辑
摘要: nonlocal:用于局部变量,找上层中离当前函数最近一层的局部变量,找到为止,如果在全局找到或找不到,报错。 使用场景:内层函数对外层数据修改/处理 阅读全文
posted @ 2019-10-09 09:59 小然同学 阅读(119) 评论(0) 推荐(0) 编辑