Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 21, 2009 18:37:56

pioner
От:
Зарегистрирован: 2009-10-21
Сообщения: 146
Репутация: +  0  -
Профиль   Отправить e-mail  

сколько раз загружается модуль ?

Есть мнение, что при повторной загрузке модуля в другой модуль (класс) питон не обращается к файлу с модулем, а делает копию… или не делает…или дает ссылку на загруженный модуль? Собственно, это и есть вопрос.
Если обратиться к модулю так: mod=sys.module то модуль автоматом подгружается, но куда?
Таким образом я могу обратиться к методам модуля из любого места в программе, но происходит ли при этом обращение к файлу модуля?



Офлайн

#2 Окт. 21, 2009 19:50:46

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

сколько раз загружается модуль ?

pioner
1. Есть мнение, что при повторной загрузке модуля в другой модуль (класс) питон не обращается к файлу с модулем, а делает копию… или не делает…или дает ссылку на загруженный модуль? Собственно, это и есть вопрос.
2. Если обратиться к модулю так: mod=sys.module то модуль автоматом подгружается, но куда?
3. Таким образом я могу обратиться к методам модуля из любого места в программе, но происходит ли при этом обращение к файлу модуля?
1.Возвращается ссылка.
2. Модуль автоматом не подгружается - возвращается ссылка на уже готоый.
3. К файлу - не происходит.



Офлайн

#3 Окт. 21, 2009 21:50:34

pioner
От:
Зарегистрирован: 2009-10-21
Сообщения: 146
Репутация: +  0  -
Профиль   Отправить e-mail  

сколько раз загружается модуль ?

ссылка - да, так логично.
спасибо большое.

по поводу загрузки автоматом -
mod=sys.module работает, если до этого не было импорта! проверил. но только для библиотечных модулей, есесно.



Офлайн

#4 Окт. 21, 2009 22:09:47

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

сколько раз загружается модуль ?

Не работает! Просто эти “библиотечные модули” всё же были импортированы, но не в ваших скриптах, а в процессе запуска питона.



Офлайн

#5 Окт. 22, 2009 00:07:10

pioner
От:
Зарегистрирован: 2009-10-21
Сообщения: 146
Репутация: +  0  -
Профиль   Отправить e-mail  

сколько раз загружается модуль ?

poltergeist
Не работает! Просто эти “библиотечные модули” всё же были импортированы, но не в ваших скриптах, а в процессе запуска питона.
Да, в словаре sys.mоdule уже сидят модули, но вызвать методы можно после ‘import’, иначе сообщение, что нет такого модуля. При вызове sys.module import не нужен!

Если “”библиотечные модули“ всё же были импортированы” при запуске питона, то ерунда получается - при запуске грузится вся папка Lib ???? … что противоречит концепции модульности питона.

еще по поводу обращения к файлам - все же, import работает медленнее чем если передать ссылку на ранее загруженный модуль в параметрах раза в 3! … правда, порядок величин тысячные доли секунды.



Офлайн

#6 Окт. 22, 2009 00:18:01

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

сколько раз загружается модуль ?

pioner
Да, в словаре sys.mоdule уже сидят модули, но вызвать методы можно после ‘import’, иначе сообщение, что нет такого модуля. При вызове sys.module import не нужен!
Нет, тут вы путаете. import нужен для того что добавить этот модуль или имена внутри него в локальную область видимости. Сам модуль может быть загружен кем и когда угодно (конечно до момента вызова import).
pioner
Если “”библиотечные модули“ всё же были импортированы” при запуске питона, то ерунда получается - при запуске грузится вся папка Lib ???? … что противоречит концепции модульности питона.
Нет, не ерунда. Изначально подгружаемые модули нужны для того чтобы интерпретатор мог сформировать правильное окружение для работы.
pioner
еще по поводу обращения к файлам - все же, import работает медленнее чем если передать ссылку на ранее загруженный модуль в параметрах раза в 3! … правда, порядок величин тысячные доли секунды.
Можно считать это квантовыми флуктуациями и не обращать внимание.



Офлайн

#7 Окт. 22, 2009 00:27:15

pioner
От:
Зарегистрирован: 2009-10-21
Сообщения: 146
Репутация: +  0  -
Профиль   Отправить e-mail  

сколько раз загружается модуль ?

Еще idle подгружает модули, а он на питоне написан, я им пользуюсь.
тему можно закрыть. благодарю.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version