这是Python中全局变量的合法使用吗?

时间:2011-08-11 14:07:06

标签: python

我在Python中编写了一个用于简单文本操作的小脚本,由一堆函数组成。其中一些函数包含幻数或字符串常量。可以将它们存储在全局变量中吗?我不打算修改它们,它们更像是常量。

3 个答案:

答案 0 :(得分:6)

是的,这是合法的使用。您将在许多优秀的Python代码中遇到这种情况。请注意,惯例是在UPPER_CASE中写下这些“常量”的名称。

答案 1 :(得分:4)

这是处理常量的首选方法。在文件的顶部,您可以轻松地修改它们。

您也可以将它们移动到单独的文件中并使用绝对或相对导入。

from mypackage import constants as c # absolute -- any Python
from . import constants as c # relative -- Python 2.6+
from .constants import * # Resist any temptation to do this!

答案 2 :(得分:1)

是的,可以将常量存储为全局变量。例如,Django(Python Web框架)在settings.py文件中执行了大量设置,其中包含全局变量,例如

LOGGER = ...
STATIC_DIR = ...