有时候用全局变量来缓存值或者作为函数返回值很有用....如果需要, 全局变量应该仅在模块内部可用, 并通过模块级的公共函数来访问.
6、鼓励使用嵌套/本地/内部类或函数
定义:
类可以定义在方法, 函数或者类中. 函数可以定义在方法或函数中....优先考虑这些方法, 而不是那些返回列表的方法. 当然,这样遍历容器时,你将不能修改容器.
Yes: for key in adict: ......生成值后, 生成器函数的运行状态将被挂起, 直到下一次生成.
优点:
简化代码, 因为每次调用时, 局部变量和控制流的状态都会被保存. 比起一次创建一系列值的函数, 生成器使用的内存更少....处理整数时, 使用隐式false可能会得不偿失(即不小心将None当做0来处理). 你可以将一个已知是整型(且不是len()的返回结果)的值与0比较.