Разница между стилем импорта

#python #import

#python #импорт

Вопрос:

в чем разница между :

 from file import (SomeMethod)
  

и:

 from file import SomeMethod
  

Зачем () там нужен?

Комментарии:

1. Забавно видеть поток ответов, когда публикуется такой очевидный вопрос.

2. Это не очень очевидно, и поиск в python импорта в скобках , похоже, не дает ничего существенного.

3. Существует множество случаев, когда скобки меняют способ интерпретации кода. Например, except OSError, NameError vs except (OSError, NameError) . Вполне разумно задаться вопросом, важны ли здесь скобки.

4. @user2357112 ваш пример показывает, почему старый except синтаксис устарел в 3.

5. @AnttiHaapala: Действительно! Однако это не отменяет его актуальности в качестве примера.

Ответ №1:

Импорт в скобках был описан в PEP 328 и добавлен в Python 2.4. Вкратце, <= Python 2.3 программист был вынужден использовать для продолжения строки при многострочном импорте, то есть

 from file import SomeMethod, 
                 AnotherMethod, 
                 ThirdMethod
  

это было утомительно; поэтому было решено, что круглые скобки разрешены для группировки, поскольку можно избежать использования продолжения строки в другом месте, просто группируя выражения в круглых скобках.

Ответ №2:

Вы можете использовать первый, чтобы привести в порядок свой код:

 from file import (SomeMethod,
                  AnotherMethod,
                  ThirdMethod)
  

Могут быть и другие варианты использования, но именно так я использовал его раньше.