【发布时间】:2016-07-21 17:55:45
【问题描述】:
这个问题以前可能有人问过,但是我在 Stack Overflow 上找到的其他帖子主要涉及更改全局变量和导入函数等。也许我在快速搜索时措辞不对。
我开始用 Python 编写代码,我想知道以下最有效和正确的方法是什么。
我有一个要导入到其他模块的父模块。它具有以下结构:
# some import statements go here
# Constants that need to be the same for all objects
a = 1
b = 2
...
# A class with some useful functions
class Def():
def __init__(self):
...
我在其他一些模块中导入这个模块,以使用 Def 类中的函数。但我也希望所有导入它的模块都可以访问我在类外声明的常量。
我在外面声明了它们,因为我希望这些值在我在该模块中调用它们的任何地方都可以使用。我不想将它们附加到对象(并且必须将它们称为 self.a、self.b 等),它们将在我使用的每个模块中都是常量。
我正在考虑的一些选项是:
- 在单独的类中将它们声明为全局变量,然后导入 每个模块中的那个类
- 使用
from parentmodule import *
我不确定其中任何一个是否会起作用,以及是否有标准的方法来做到这一点。由于常量的性质,在执行后者时变量名称的冲突不会成为问题。在我的程序上下文中,它们是具有唯一名称的物理常数,不会用于表示其他变量。
如果问题太基本/以前问过,我们深表歉意,感谢您的帮助。
【问题讨论】:
标签: python class import global-variables constants