我是Python的新手,所以我仍然迷失在整个名称空间中。 我已经创建了一个包,其中包含init文件以及classname.py文件。 例如: 来自降落伞进口集装箱,发射器
我试图直接实例化Container类,但它给了我一个错误,所以我不得不将它实例化为container.Container()。我怎么能避免这样做? 基本上,我想要做的是从包中导入一个类,并避免键入包名称和/或文件名。 在此先感谢,如果问题不够明确,请告诉我。
UPDATE 我的结构是: - 降落伞 - init .py
-- container.py
Serves as a controller, i'd say, instancing, calling and glueing all the other parts together.
-- sparkles.py
Has two classes: Sparkle and Sparkles. Sparkle is a single element, with only one property so far, and Sparkles serves as a collection. Sparkles() belongs to the Emitter, and Sparkle() belongs to Sparkles().
-- emitter.py
Emitter could be seen as the user entity. It has a name and an uid, it belongs to a Container and the Container belongs to it.
现在,从包外面我正在调用Container并传递一些参数,以及Container实例并根据需要分配参数。 我的印象是,这不是我需要做的最好的方法,即:创建一个由发射器拥有的闪光系列。
答案 0 :(得分:2)
from module import Class
classInst = Class()
如果您的班级位于module.py
,这将有效答案 1 :(得分:2)
不要将该类放在自己的文件中。将Container
和Emitter
直接放在parachute.py
中。
然后你可以做
from parachute import Container, Emitter
或
import parachute
container = parachute.Container()
这基本上归结为“Python不是Java所以为了获得最佳结果,不要像对待它一样”;)