Существуют ли какие-либо другие применения для ключевого слова Python "from" в стороне от операторов import
?
Использование Python из "ключевого слова"?
Ответ 1
Нет и да.
В соответствии с официальной грамматикой Python 2.7.2 единственное вхождение слова from
находится в разделе import_from
, поэтому нет.
В Python 3.1.3 грамматика новое предложение
raise_stmt: 'raise' [test ['from' test]]
да.
Ответ 2
В Python 2.x единственное использование from
- для оператора from x import y
. Однако для Python 3.x его можно использовать в сочетании с оператором raise
, например:
try:
raise Exception("test")
except Exception as e:
raise Exception("another exception") from e
Ответ 3
Существует новый синтаксис делегирования подгенератору в Python 3.3, который использует ключевое слово from
.
Ответ 4
Следующее использование
from __future__ import some_feature
синтаксически идентичен оператору импорта, но вместо импорта модуля он изменяет поведение интерпретатора в некотором роде, в зависимости от значения some_feature
.
Например, from __future__ import with_statement
позволяет использовать оператор Python with
в Python 2.5, хотя оператор with
не был добавлен на язык до Python 2.6. Поскольку он изменяет синтаксический анализ исходных файлов, любой импорт __future__
должен появляться в начале исходного файла.
Дополнительную информацию см. в документации __future__
.
Обратитесь к документации по __future__
для списка возможных импорта __future__
и версий Python, в которых они доступны.