Модуль __future__ в Python
Как программист, вы когда-нибудь чувствовали себя брошенным на произвол судьбы, где вы можете исследовать захватывающие функции новой версии предпочитаемого вами языка программирования? Что ж, если вы энтузиаст Python, вам повезло! Будущий модуль Python здесь, чтобы представить вам будущее или, по крайней мере, предварительный просмотр предстоящих возможностей. В этой статье мы вместе отправимся в путешествие, изучая мелкие детали модуля Destiny в Python и то, как он позволяет нам опережать спорт, сохраняя при этом совместимость со старыми версиями.
Что такое модуль будущего?
Прежде чем мы углубимся в сложность будущего модуля, позвольте примерно рассказать, что это такое. Будущий модуль — это включенный в состав модуль Python, который позволяет программистам применять новые языковые навыки, которые могут быть включены в будущие версии Python. Загрузив этот модуль, вы можете написать более прогрессивный код, что позволит вам плавно перейти к более современным вариантам Python без проблем с совместимостью.
Философия Python и важность будущего модуля
Философия Python, как сказано в «Дзене Python», подчеркивает важность читаемости и простоты кода. По мере развития языка появляются новые функции и улучшения синтаксиса, которые делают жизнь программиста менее сложной. Однако эта эволюция время от времени может вызывать проблемы совместимости между различными версиями Python.
В этом и есть преимущество будущего модуля. Он облегчает преодоление дистанции между исключительными версиями Python, позволяя вам применять новые возможности языка до того, как они официально будут включены в общий дистрибутив. Таким образом, вы можете писать более современный и удобный в сопровождении код, при этом хорошо подходящий для старых версий Python.
Начало работы с будущим модулем
Теперь, когда мы изложили основы, давайте рассмотрим будущий модуль в движении! Чтобы использовать его, все, что вам нужно сделать, это импортировать уникальную функцию, которую необходимо применить, из будущего модуля. Вот пример методов, которые вы можете импортировать и использовать функцию «отдел» из будущего модуля:
-
Шаг 1 − Импортируйте ' функция разделения из будущего модуля.
Шаг 2 − Выполнить деление операцию (5 разделить на 2) и сохранить результат в переменной result.
Шаг 3 − Распечатайте значение переменной result, которая будет равна 2,5.
from __future__ import division
result = 5 / 2
print(result)
Выход
2.5
Некоторые примечательные особенности будущего модуля
Теперь, когда мы знаем, как использовать будущий модуль, давайте рассмотрим некоторые из его самых замечательных функций:
print_function − В Python 2 «печать» — это утверждение, тогда как в третьем Python «печать» — это характеристика, требующая круглых скобок. Импортировав характеристику print_function, вы можете гарантировать, что ваш код будет хорошо соответствовать Python 2 и 3.
Пример
from __future__ import print_function
print("Hello, future!")
Выход
Hello, future!
absolute_import − По умолчанию Python 2, кажется, содержит пакеты и модули в новейшем списке, прежде чем смотреть на стандартную библиотеку. Это может привести к внезапному поведению. Функция Absolute_import обеспечивает использование абсолютного импорта, делая ваш код более надежным и предсказуемым.
Пример
from __future__ import absolute_import
import my_module
unicode_literals − Python 2 использует строк ASCII по умолчанию, а Python 3 использует строки Unicode. Функция unicode_literals позволяет Python 2 работать со строковыми литералами, такими как Unicode, что делает ваш код более стабильным в различных вариантах Python.
Шаг 1 − Импортируйте характеристику «unicode_literals» из будущего модуля.
Шаг 2 − Создайте строковую переменную text, содержащую значение «Hello, World!».
Шаг 3 − Распечатайте тип текстовой переменной. При импорте «unicode_literals» в Python 2 это будет
from __future__ import unicode_literals
text = "Hello, World!"
print(type(text))
-
генераторы − В Python 2.2 представлен генератор функции, но синтаксис отличался от того, что мы знаем сегодня. Функция генераторов позволяет использовать современный синтаксис функций-генераторов в Python 2.2 и более поздних версиях.
Шаг 1 − Импортируйте характеристику «генератор» из будущего модуля.
Шаг 2 − Определите функцию-генератор, известную как «my_generator», которая перебирает число чисел от нуля до 4 (всего 5 чисел).
Шаг 3 − Используйте ключевое слово «yield» внутри функции генератора, чтобы вернуться к каждому количеству в диапазоне одно за другим.
Шаг 4 − Перебрать значения, сгенерированные с помощью функции my_generator, используя цикл for, и вывести каждое значение.
Пример
from __future__ import generators
def my_generator():
for i in range(5):
yield i
for value in my_generator():
print(value)
Выход
0
1
2
3
4
Лучшие практики использования модуля Future
Теперь, когда мы обсудили некоторые из важнейших функций будущего модуля, пришло время обсудить некоторые полезные приемы, которые помогут вам извлечь из него максимум пользы —
Используйте будущий импорт в начале документа − Чтобы обеспечить согласованность на каком-то этапе вашего кода, лучше всего импортировать предпочтительные функции из будущего модуля в самом начале вашего файла.
Будьте избирательны при импорте − Импортируйте только те функции, которые вы предлагаете применить. Импорт ненужных функций может затруднить чтение и понимание вашего кода.
Протестируйте свой код на нескольких версиях Python − Очень важно протестировать свой код в конкретных средах Python, чтобы убедиться, что он действительно успешно работает и сохраняет совместимость.
Следите за примечаниями к выпуску Python − Примечания к запуску Python проинформируют вас о новых возможностях, которые появятся в будущем. Если вы будете в курсе этих изменений, это поможет вам написать дополнительный код доказательства в будущем.
Заключение
В этой статье мы углубились в увлекательную глобальную часть будущего модуля Python. Включив этот модуль в свой код, вы сможете пользоваться преимуществами будущих функций Python, сохраняя при этом совместимость со старыми вариантами. Более того, вы сможете лучше подготовиться к переходу на более поздние версии Python по мере их появления. Итак, примите судьбу и позвольте модулю Destiny помочь вам написать более современный, удобный в сопровождении и хорошо согласованный код Python. Приятного кодирования!