
随笔
kill0383
这个作者很懒,什么都没留下…
展开
-
迭代器和生成器的一些注意问题
一、迭代器可迭代的(可迭代对象): 可迭代对象都是可迭代的。如:str、list、dict、tuple、文件对象等等 只要是对象有__iter__内部方法,就可以称之为可迭代对象迭代器: 迭代器也是可迭代的,他不光有__iter__方法,还有__next__方法。 迭代器一次只能取一个值,直到取完后引发一个错误 获得一个迭代器: 调用可迭代对象的__iter__()就可以获得迭代器 使原创 2017-11-06 19:04:55 · 670 阅读 · 0 评论 -
装饰器详解
闭包如果一个函数反复调用,会造成内存消耗,闭包的特性就是当调用外部函数的变量的时候,运行结束后再内存中不会释放,反复调用就不会对内存造成消耗 闭包的定义:当内部函数使用了外部函数的变量(注意不是全局变量)的时候,称这种方式为闭包def f1(a): def f2(): print(a) return a return f2概念如果想在某个函数的之前或原创 2017-11-02 13:41:59 · 325 阅读 · 0 评论 -
nonlocal
n = 0def func(): n = 1 def func2(): # n = 2 def func3(): nonlocal n n+=1 func3() print(n) func2() print(n)func()print(n)220上面原创 2017-11-02 13:49:48 · 250 阅读 · 0 评论