Не слушайте все, что люди говорят о "загрязнении пространства имен".Продолжайте и сделайте from classes import *
, если вам удобно (и я верю, что это так), но подумайте об использовании __all__
в вашем пакете.
А точнее, следующая папкаструктура сделает это:
classes/
|-- class1.py
|-- class2.py
`-- __init__.py
Добавление файла classes/__init__.py
создает пакет.Это выглядит следующим образом:
from class1 import Class1
from class2 import Class2
__all__ = ["Class1", "Class2"]
Обратите внимание на кавычки вокруг имен классов в __all__
.
Затем вы можете использовать пакет в любых ваших скриптах:
>>> from classes import *
>>> Class1
<class classes.class1.Class1 at 0xb781c68c>
>>> Class2
<class classes.class2.Class2 at 0xb781c6ec>
>>> dir()
['Class1', 'Class2', '__builtins__', '__doc__', '__name__', '__package__']
Красиво и просто.