2018年5月9日

函数闭包模拟session

摘要: 根据上一个认证功能的问题 要解决的就是只需要登录一次 也就是登录一次之后的用户名跟密码可以保存下来让其他函数用-->全局变量 阅读全文

posted @ 2018-05-09 15:51 monster7 阅读(207) 评论(0) 推荐(0) 编辑

函数闭包为函数加上认证功能

摘要: #模拟认证 但是有问题 因为需要重复输入用户名跟密码 解决在之后随笔汇(模拟session)def auth_func(func): def wrapped(*args,**kwargs): user_name = input("请输入用户名").strip() passwd = input("请输入密码").strip() if ... 阅读全文

posted @ 2018-05-09 14:51 monster7 阅读(106) 评论(0) 推荐(0) 编辑

装饰器框架实现

摘要: 补充:如果有一个很大的序列怎么取得最开始和最后的值? 123 阅读全文

posted @ 2018-05-09 14:14 monster7 阅读(184) 评论(0) 推荐(0) 编辑

函数嵌套与闭包尝试装饰器

摘要: 什么是函数嵌套: 在函数里面再定义一个函数 闭包(其实就类似于作用域 但是换了种说法):包就是嵌套函数 一个包一个。 怎么用:如果二跟三层都没有name,那么在最外层给个name值,最里面的print就会打印这个name,一层层渗透。 闭包就是封闭的包,里面就是封装的变量。 比如说下面最里面的一个包 阅读全文

posted @ 2018-05-09 11:16 monster7 阅读(223) 评论(0) 推荐(0) 编辑

高阶函数尝试装饰器

摘要: 1.函数的参数是一个函数名 (难以保证被调用函数的调用方式不被修改 就比如下面第二个代码块) 2.函数的返回值是一个函数名 3.满足以上任何一个条件都可以称之为高阶函数 你好阿龙氏夫妇 #由此可以看到foo执行了两次 肯定不能这么使用 所以高阶函数满足不了装饰器的运用函数的运行时间是-3.00017 阅读全文

posted @ 2018-05-09 10:11 monster7 阅读(75) 评论(0) 推荐(0) 编辑

*装饰器基本理论

摘要: l=[1,2,3] 两种方式变为可迭代:l._iter_() iter(l) 装饰器:装饰器本质就是函数,修饰其他函数,功能为其他函数添加附加功能 两个原则:1.不修改被修饰函数的源代码 2.不修改被修饰函数的调用方式 装饰器的知识储备: 装饰起 = 高阶函数 + 函数嵌套 + 闭包 阅读全文

posted @ 2018-05-09 09:31 monster7 阅读(87) 评论(0) 推荐(0) 编辑

生成器补充

摘要: 0123[] #为什么会空?因为print(i)的时候已经遍历了所有元素 第二次打印已经没有运行了 [0, 1, 2, 3][] 阅读全文

posted @ 2018-05-09 09:06 monster7 阅读(71) 评论(0) 推荐(0) 编辑

2018年5月8日

作业重点

摘要: #*y代表元组,**z代表字典。 *[1,2,3,4,5]前面的*号代表将这个列表中的元素每一个拿出来赋值,如果没有*号就是把这个列表当作一个整体赋值 #结果是[11,22,33,44,55] 以及none 因为func(li)这个函数没有得到一个return值,就没有得到结果,所以是none #结 阅读全文

posted @ 2018-05-08 23:35 monster7 阅读(92) 评论(0) 推荐(0) 编辑

生产者消费模型

摘要: enumerate()使用 如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写: 上述方法有些累赘,利用enumerate()会更加直接和优美: 生产者模拟型! send()也是可以触发yield运行的函数 阅读全文

posted @ 2018-05-08 16:20 monster7 阅读(137) 评论(0) 推荐(0) 编辑

生成器特性阐释

摘要: #生成器函数一定要next之后才是执行 阅读全文

posted @ 2018-05-08 14:04 monster7 阅读(110) 评论(0) 推荐(0) 编辑

导航