如果需要, 全局变量应该仅在模块内部可用, 并通过模块级的公共函数来访问.
嵌套/局部/内部类或函数
定义:
类可以定义在方法, 函数或者类中. 函数可以定义在方法或函数中....封闭区间中定义的变量对嵌套函数是只读的.
优点:
允许定义仅用于有效范围的工具类和函数.
缺点:
嵌套类或局部类的实例不能序列化(pickled).
结论:
推荐使用....优点:
简化代码, 因为每次调用时, 局部变量和控制流的状态都会被保存. 比起一次创建一系列值的函数, 生成器使用的内存更少.
缺点:
没有.
结论:
鼓励使用....默认参数值
定义:
你可以在函数参数列表的最后指定变量的值, 例如, def foo(a, b = 0): 如果调用foo时只带一个参数, 则b被设为0. 如果带两个参数, 则b的值等于第二个参数....词法作用域(Lexical Scoping)
定义:
嵌套的Python函数可以引用外层函数中定义的变量, 但是不能够对它们赋值. 变量绑定的解析是使用词法作用域, 也就是基于静态的程序文本.