在 Python 中 globals()['var'] 有什么缺点?



这篇文章说,您可以使用以下语法获得一个变量变量:

globals()['var']

然而,它也说这是一个非常糟糕的主意。我的问题是为什么?就我所见,这和做是一样的

global var
var

除了,在第一种情况下,实际上可以更改名称。是否存在安全问题,或者只是因为它更难阅读?

注意-很抱歉,如果这是一个重复的问题,搜索会在global()上显示一大堆问题,但我找不到一个

对于短脚本来说,这并不是世界上最糟糕的事情。但通常应该避免全局变量,因为这会使代码更难维护。通常情况下,您会将一个变量传递给您的函数和类。

有时会出现一个有趣的例子,如果你试图对curve_filt进行scipy,而你有一个函数有很多变量,但不是所有变量都要优化。一种解决方案是使其他变量全局化,但通常接受的方法是生成一个lambda函数来分离两个不同的变量。请参见此处:只拟合一个函数的一个参数-带任意参数-在上同相

相关内容

  • 没有找到相关文章

最新更新