我试图找出为什么使用global
在 python 中(以及一般编程中)被认为是不好的做法。有人可以解释一下吗?包含更多信息的链接也将不胜感激。
这与Python无关;全局变量在任何编程语言中都是不好的。
然而,全局常数在概念上不一样全局变量;全局常数是完全无害的。在 Python 中,两者之间的区别纯粹是按照约定:CONSTANTS_ARE_CAPITALIZED
and globals_are_not
.
全局变量不好的原因是它们使函数具有隐藏的(不明显的、令人惊讶的、难以检测的、难以诊断的)副作用,导致复杂性增加,可能导致意大利面条代码.
然而,即使在函数式编程中,全局状态的合理使用也是可以接受的(局部状态和可变性也是如此),无论是为了算法优化、降低复杂性、缓存和记忆,还是为了移植源自主要命令式代码库的结构的实用性。
总而言之,您的问题可以通过多种方式得到回答,因此您最好的选择就是搜索“为什么全局变量不好”。一些例子:
- 全局变量很糟糕 - 维基百科,自由的百科全书
- 为什么全球国家如此邪恶? - 软件工程堆栈交换
- 全局变量不好吗?
如果你想更深入地了解为什么副作用以及许多其他有启发性的事情,你应该学习函数式编程:
- 副作用(计算机科学)- 维基百科
- 为什么副作用在函数式编程中被认为是邪恶的? - 软件工程堆栈交换
- 函数式编程 - 维基百科
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)