一尘不染

Python-为什么全局变量是不好的?[closed]

python

为什么全局变量是不好的?[closed]


阅读 511

收藏
2020-02-05

共1个答案

一尘不染

这与Python无关。全局变量在任何编程语言中都是不好的。

但是,全局常量在概念上与全局变量并不相同。全局常数完全无害。只是在Python中没有强制性差异,只有约定是CONSTANTS_CAPITALIZEDand globals_are_not

它们不好的原因是它们使函数具有隐藏的(非显而易见的,令人惊讶的,难以检测的)副作用,从而导致复杂性的增加,并有可能导致产生Spaghetti代码。

但是,即使在函数式编程中,也可以合理使用全局状态(局部状态和可变性也是如此),无论是算法优化,降低复杂性,缓存和记忆化,还是移植以命令式代码库为基础的结构的实用性。

2020-02-05