这与Python无关。全局变量在任何编程语言中都是不好的。
但是,全局常量在概念上与全局变量并不相同。全局常数完全无害。只是在Python中没有强制性差异,只有约定是
CONSTANTS_CAPITALIZEDand globals_are_not。
它们不好的原因是它们使函数具有隐藏的(非显而易见的,令人惊讶的,难以检测的)副作用,从而导致复杂性的增加,并有可能导致产生Spaghetti代码。
但是,即使在函数式编程中,也可以合理使用全局状态(局部状态和可变性也是如此),无论是算法优化,降低复杂性,缓存和记忆化,还是移植以命令式代码库为基础的结构的实用性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)