Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
前后传递变量与使用python常量_Python - Fatal编程技术网

前后传递变量与使用python常量

前后传递变量与使用python常量,python,Python,我有一个带有几个函数的Python模块。目前,这些函数仅从main()调用,但我希望将来从其他文件导入模块 我有一个计数器变量,它被大多数函数使用和修改。目前,我将它作为参数传递,并在每次函数调用时返回它 这是可行的,但似乎很愚蠢。我考虑包含一个常量变量计数器,它直接由所有函数使用。然而,我假设常数不应该被修改 有没有比来回传递计数器变量更干净的方法?创建一个将计数器作为其属性之一的类将是一个很好的解决方案 由于当前函数将在将来显式调用,因此将计数器设为属性将节省变量传递的被调用方以及可能额外的

我有一个带有几个函数的Python模块。目前,这些函数仅从main()调用,但我希望将来从其他文件导入模块

我有一个
计数器
变量,它被大多数函数使用和修改。目前,我将它作为参数传递,并在每次函数调用时返回它

这是可行的,但似乎很愚蠢。我考虑包含一个常量变量
计数器
,它直接由所有函数使用。然而,我假设常数不应该被修改


有没有比来回传递
计数器
变量更干净的方法?

创建一个将计数器作为其属性之一的类将是一个很好的解决方案

由于当前函数将在将来显式调用,因此将计数器设为属性将节省变量传递的被调用方以及可能额外的错误检查


还可以从被调用函数中提取计数器变量,以减少错误。这一点取决于你的实现。

我认为你要找的关键字是“代码>全局< /代码>一个选项是创建一个类并制作<代码>计数器< /Cl>一个属性。考虑使用上面提到的类属性,将变量像你一样传递给它可能看起来很愚蠢,但这是显式编码的一部分。一般意义上的全局变量不是一个好主意,尤其是那些具有常见名称(如
counter
)的变量。因此,一般来说,将其封装在一个类中是否比使用两个
全局变量更可取?它实际上是一个特定于应用程序的规则,而不是通用规则。在您的场景中,类方法是合适的,因为您希望在其他地方使用函数。全局使用的一个示例可能是您的类读取配置文件并为其创建JSON对象。现在,它可能更适合希望使用类的开发人员创建类的全局配置对象并使用它。