你如何在Python中声明一个全局常量?

cjm*_*671 18 python python-2.7

我的程序开始时我想做一些繁重的计算,然后我想将结果(一个大的凹凸矩阵)保存在内存中,以便我可以一次又一次地使用它.我的程序包含多个文件和类,我希望能够从任何地方访问此变量,并且如果可能,将其定义为常量.

如何在Python中定义全局常量?

SpK*_*Kel 22

我不认为标记为好的答案可以解决操作问题.globalPython中的关键字用于修改本地上下文中的全局变量(如此处所述).这意味着如果在修改 SOME_CONSTANT内的op 修改myfunc也会影响函数范围之外(全局).

global在开头不使用关键字比建议的myfunc更接近全局常量的意义.尽管没有办法在Python中使变量保持不变.

  • 什么是“变量常量”? (2认同)

小智 21

您可以在模块级别声明一个变量,并在模块中将其用作global变量.您也可以将其导入其他模块.

#mymodule.py
GLOBAL_VAR = 'Magic String' #or matrix...

def myfunc():
    global GLOBAL_VAR
    #do something
Run Code Online (Sandbox Code Playgroud)

或者在其他模块中:

from mymodule import GLOBAL_VAR
Run Code Online (Sandbox Code Playgroud)


Chr*_*ian 8

Python 中无法声明常量。你可以只使用

SOME_CONSTANT = [...]
Run Code Online (Sandbox Code Playgroud)

如果声明的文件名为file1.py,那么您可以通过以下方式从其他文件访问它:

import file1

print file1.SOME_CONSTANT
Run Code Online (Sandbox Code Playgroud)

假设这两个文件位于同一目录中。