Следует ли удалять __future__ строки импорта и Unicode при обновлении до Python 3? - PullRequest
0 голосов
/ 21 февраля 2020

Я занимался обновлением кодовых баз до Python 3. Одна вещь, которую я делал, это запуск 2to3 и просмотр того, что предлагает сценарий. Что-то, что он постоянно предлагает, это удалить все __future__ импорта, а также любые строки Unicode, например, u"python2 unicode str" (что имеет смысл для меня, так как Python 3 строки по умолчанию являются Unicode).

Из того, что я Можно сказать, что эти изменения никак не влияют на функциональность кода - кажется, что он «очищен». Это верно? Есть ли причина сохранять строки импорта и юникода __future__? Есть явная причина для их удаления?

Примечание. Меня не заботит сохранение совместимости Python 2 - она ​​не поддерживается.

1 Ответ

1 голос
/ 21 февраля 2020

Нет причин удалять их, и нет веских причин их хранить. Они гарантированно остаются доступными, но ничего не делают, в Python версиях, которые включают их по умолчанию :

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

Из __future__

* никогда не удаляется описание функции 1010 *

Если вы уверены, что никогда не будете работать на Python 2, это не имеет значения, что вы делаете.

...