powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python: как избежать импорта подключённых для реализации модулей
5 сообщений из 5, страница 1 из 1
Python: как избежать импорта подключённых для реализации модулей
    #38498828
PyAuthor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имеется файл classes.py, который содержит множество нужных классов.
реализация функций классов требует подключения модуля funcs.py
как организовать импорт из файла classes.py, чтобы не импортировались функции, импортированные в него для реализации?

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
#module funcs.py:
# - содержит полезный мусор

#module classes.py:
from funcs import *

class A:
#using functions from funcs.py
.....

class B:
#using functions from funcs.py
.....

class C:
#using functions from funcs.py
.....


#python shell:
>>> from classes import *
#импортировались классы
# и импортировался мусор из funcs.py
...
Рейтинг: 0 / 0
Python: как избежать импорта подключённых для реализации модулей
    #38499478
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#module classes.py:

__all__ = ("A",  "B")

class A:
#using functions from funcs.py
.....

class B:
#using functions from funcs.py
...
Рейтинг: 0 / 0
Python: как избежать импорта подключённых для реализации модулей
    #38499619
PyAuthor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FishHook
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#module classes.py:

__all__ = ("A",  "B")

class A:
#using functions from funcs.py
.....

class B:
#using functions from funcs.py


спасибо,

А вот улучшенная версия:

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#module classes.py:

class A:
#using functions from funcs.py
.....

class B:
#using functions from funcs.py

def classnamesOfCurrentModule():
    import sys
    import inspect
    m=sys.modules[__name__]
    return map(lambda pair: pair[0],filter(lambda pair: inspect.isclass(pair[1]),m.__dict__.items()))
    
__all__=classnamesOfCurrentModule()
...
Рейтинг: 0 / 0
Python: как избежать импорта подключённых для реализации модулей
    #38500535
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А разъясните суть улучшений, плиз.
...
Рейтинг: 0 / 0
Python: как избежать импорта подключённых для реализации модулей
    #38501884
PyAuthor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FishHookА разъясните суть улучшений, плиз.
а в том, что не надо список классов вручную определять
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python: как избежать импорта подключённых для реализации модулей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]