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

Python - using a method's return value as a constant

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

MY_CONSTANT = function(foo, bar)

def function(foo, bar):
    return 6

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

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

NameError: name 'function' is not defined

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

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

def function(foo, bar):
    return 6

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

>>>MY_CONSTANT
6

编辑:我将 foo=Nonebar=None 设置为 function 因为我不确定你在哪里定义了这些。