LINUX.ORG.RU

[Python] Атрибуты пакетов

 


0

0


Я пишу питоновский пакет (назовем его mystuff). В пакете есть три елемента которыми будут пользоваться: функция dostuff, и два класса Class1 и Class2. Я хочу, что-бы можно было написать так:

import mystuff
c1=mystuff.Class1()
c2=mystuff.Class2()
mystuff.dostuff(data,c1,c2)

Кроме того надо что-бы каждый из трех перечисленных елементов жил в отдельном файле.
Для всего этого я написал __init__.py:

from dostuff import dostuff
from class1 import Class1
from class2 import Class2

Все работает, но смущает то, что dir(mystuff) кроме желанных mystuff, Class1 и Class2, включает в себя и class1 + class2 (модули, содержащие мои классы). Есть ли способ избавиться от ненужных атрибутов или я беспокоюсь о полной ху^W^W сущих пустяках?

★★

Ответ на: комментарий от anonymous

> Да.

Присоединяюсь.

В питоне запреты делаются на уровне соглашений.

Если уж так сильно не нравится, то пусть имена модулей с классами начинаются с "_".

anonymous
()

можно добавить в __init__.py

del class1
del class2

mnt
()

Попробуй так __all__ = ['mystuff', 'Class1', 'Class2']

Minmax
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.