, Спасибо за отличный ответ как всегда.
очарован__future__
модуль - в частности, его способность изменять способ синтаксического анализа операторов в Python.
Что самое интересное, как делать что-то вроде
from __future__ import print_function
Позволяет использоватьprint
(и нетprint_function
, как и следовало ожидать от любого другого обычного импорта).
я прочиталДля чего используется __future__ в Python и как / когда его использовать, и как он работает досконально и в частности наткнулся на определенную строчку:
Будущее утверждение - это директива для компилятора о том, что определенный модуль должен быть скомпилирован с использованием синтаксиса или семантики, которые будут доступны в указанном будущем выпуске Python.
Я хотел бы знать тонкости того, что именно делает это возможным. В частности, как то
from __future__ import division
Может включить истинное деление на python2, в то время как
from __future__ import barry_as_FLUFL
Может включить<>
синтаксис на python3 (что мне показалось наиболее забавным, это то, что вам нужно импортировать функцию из "__future__
«для обратной совместимости).
В любом случае, подведем итог, я хотел бы знать, как директива понимается и выполняется компилятором, когда__future__
или его артефакты импортированы.