Python - 使用方法的返回值作为常量

时间:2015-01-16 23:00:38

标签: python methods constants

我试图在我的文件顶部定义一些常量。文件中没有类,只有导入,常量和方法。可能由于设计不佳,我想使用此文件中的方法来设置常量。例如:

MY_CONSTANT = function(foo, bar)

def function(foo, bar):
    return 6

在这个例子中,我希望MY_CONSTANT被赋予int 6.这是问题的简化版本,因为我的函数实际上进行了许多昂贵的调用,我只希望调用一次该函数。我打算在循环内部使用常量。

这不起作用,因为我收到以下错误:

NameError: name 'function' is not defined

有没有更好的设计,或者如何使用方法调用来设置常量?

1 个答案:

答案 0 :(得分:2)

您正在尝试在定义函数之前调用它:

def function(foo, bar):
    return 6

MY_CONSTANT = function(foo=None, bar=None)

>>>MY_CONSTANT
6

修改:我将foo=Nonebar=None设置为function,因为我不知道您在哪里定义了这些内容。