#python #import
#python #импорт
Вопрос:
в чем разница между :
from file import (SomeMethod)
и:
from file import SomeMethod
Зачем () там нужен?
Комментарии:
1. Забавно видеть поток ответов, когда публикуется такой очевидный вопрос.
2. Это не очень очевидно, и поиск в python импорта в скобках , похоже, не дает ничего существенного.
3. Существует множество случаев, когда скобки меняют способ интерпретации кода. Например,
except OSError, NameError
vsexcept (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)
Могут быть и другие варианты использования, но именно так я использовал его раньше.