В чем разница между import modx и modx import *?

Если бы я должен был импортировать какой-то модуль под названием modx, как бы это отличалось от высказывания

from modx import * 

Разве не все содержимое будет импортировано из каждого в любом случае? Это в python просто для уточнения.

3 Solutions collect form web for “В чем разница между import modx и modx import *?”

Если вы import somemodule содержащиеся в нем глобальные значения будут доступны через somemodule.someglobal . Если вы from somemodule import * ВСЕ его глобальные (или те, что указаны в __all__ если они существуют) будут сделаны глобальными, т. someglobal Вы можете получить к ним доступ с помощью someglobal без имени модуля перед ним.

Использование from module import * не рекомендуется, поскольку оно загромождает глобальную область, и если вы импортируете материал из нескольких модулей, вы, вероятно, столкнетесь с конфликтами и перезапишете существующие классы / функции.

Если a определяет ab и ac

 import a ab() ac() 

против

 from a import b b() c() # fails because c isn't imported 

против

 from a import * b() c() 

Обратите внимание, что from foo import * как правило, неодобрительно, поскольку:

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

Общий вопрос с большим количеством вопросов, чтобы ответить … вот один: http://effbot.org/zone/import-confusion.htm

По сути, чтобы ответить на ваш конкретный вопрос, вторая форма ( from modx import * ) вы получаете только публичные элементы в modx

  • В Python, как вы изменяете экземпляр объекта после перезагрузки?
  • проблемы с импортом модуля python
  • Теперь, когда Python 2.6 отсутствует, какие модули в настоящее время на языке должны знать каждый программист?
  • Проверьте, существует ли модуль, если он не установлен в python
  • Существуют ли соглашения для комментариев модуля Python?
  • Импорт пользовательских модулей в python из каталога
  • глобальная переменная, определенная в основном скрипте, не может быть доступна функцией, определенной в другом модуле
  • import module == из модуля import *?
  • Ленивые переменные модуля - это можно сделать?
  • автоматически импортировать все вспомогательные модули в папку, затем вызывать те же функции имени - проверка времени выполнения python
  • используя __init__.py
  • Python - лучший язык программирования в мире.