gpt4 book ai didi

python - 为什么全局变量是邪恶的?

转载 作者:IT老高 更新时间:2023-10-28 21:09:14 30 4
gpt4 key购买 nike

我试图找出为什么使用 global 在 python 中被认为是不好的做法(以及在一般编程中)。有人可以解释一下吗?包含更多信息的链接也将不胜感激。

最佳答案

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

但是,全局常量在概念上与全局变量不同;全局常量是完全无害的。在 Python 中,两者之间的区别纯粹是按照惯例:CONSTANTS_ARE_CAPITALIZEDglobals_are_not

全局变量不好的原因是它们使函数具有隐藏的(不明显、令人惊讶、难以检测、难以诊断)副作用,从而导致复杂性增加,可能导致 Spaghetti code .

但是,即使在函数式编程中,合理地使用全局状态(局部状态和可变性也是如此)是可以接受的,无论是用于算法优化、降低复杂性、缓存和内存,还是用于移植源自主要命令式代码库的结构的实用性。

总而言之,您的问题可以通过多种方式得到解答,因此您最好的选择就是在 Google 上搜索“为什么全局变量不好”。一些例子:

如果您想更深入地了解为什么会出现副作用以及许多其他启发性的东西,您应该学习函数式编程:

关于python - 为什么全局变量是邪恶的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19158339/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com