Слайд 2Типизация
Первые упоминания о подсказках типов в языке программирования Python появились в базе
Python Enhancement Proposals (PEP-483). Такие подсказки нужны для улучшения статического анализа кода и автодополнения редакторами, что помогает снизить риски появления багов в коде.
Слайд 3Типизация
Для обозначения базовых типов переменных используются сами типы:
Str
Int
Float
Bool
Complex
Bytes
etc
Слайд 4Типизация
Пример использования базовых типов в python-функции:
Слайд 5Типизация
Ну либо такой пример:
Слайд 6Типизация
Помимо этого, можно параметризировать более сложные типы, например, List. Такие типы могут
принимать значения параметров, которые помогают более точно описать тип функции. Так, например, List[int] указывает на то, что список состоит только из целочисленных значений.
Слайд 9Типизация
Кроме List, существуют и другие типы из модуля typing, которые можно параметризировать.
Такие типы называются Generic-типами. Подробнее о них можете погуглить, и посмотреть по официальной (или не очень) документации. Их вполне приемлемое количество на разный цвет и вкус.
Слайд 10Типизация
При этом функции тоже имеют свои типы. Например, для описания функции можно
использовать тип Callable, где указываются типы входных параметров и возвращаемых значений. Пример использования представлен ниже:
Слайд 13Lambda выражение в Python
lambda оператор или lambda функция в Python это способ
создать анонимную функцию, то есть функцию без имени. Такие функции можно назвать одноразовыми, они используются только при создании. Как правило, lambda функции используются в комбинации с функциями filter, map, reduce.
Слайд 14Типизация
Тип Callable говорит о том, что:
У объекта реализован метод __call__.
Описывает типы параметров
этому методу.
На первом месте стоит массив типов входных параметров, на втором — тип возвращаемого значения.
Про остальные абстрактные типы контейнеров можно прочитать в документации Python.
Слайд 15Основной смысл
Цель — указать разработчику на ожидаемый тип данных при получении или
возврате данных из функции или метода. В свою очередь, это позволяет сократить количество багов, ускорить написание кода и улучшить его качество.