Python Typing: Static Typing in Python with Python Type Hints and Mypy
Python typing – это модуль, который обеспечивает поддержку аннотаций типов в Python. Это означает, что вы можете указать тип переменной, аргумента функции или возвращаемого значения, что поможет повысить читаемость кода, установить правильность типов и упростить отладку ошибок.
Примеры аннотаций типов в Python:
python
a: int = 5 # переменная a типа int со значением 5
def square(x: float) -> float: # функция square принимает аргумент x типа float и возвращает значение типа float
return x * x
Теперь, когда мы определяем типы переменных и аргументов функций, мы можем использовать инструменты статического анализа и IDE, чтобы помочь нам обнаружить потенциальные ошибки типов в нашем коде.
Пример использования типизированных аргументов и возвращаемых значений в функции:
python
from typing import List
def get_even_numbers(nums: List[int]) -> List[int]: # функция получает на вход список чисел и возвращает список четных чисел
even_nums = [num for num in nums if num % 2 == 0]
return even_nums
В данном примере мы использовали тип List[int], который означает список целых чисел.
Python typing также поддерживает более сложные типы, такие как кортежи и словари:
python
from typing import Tuple, Dict
def process_data(data: Dict[str, Tuple[int, int]]) -> Dict[str, int]: # функция получает словарь, где ключ является строкой, а значение - кортежем из двух целых чисел и возвращает словарь, где ключ - строка, а значение - целое число
result = {}
for key, value in data.items():
result[key] = sum(value)
return result
В данном примере мы использовали тип Tuple[int, int], который означает кортеж с двумя целыми числами, и тип Dict[str, Tuple[int, int]], который означает словарь, где ключ является строкой, а значение - кортежем из двух целых чисел.
Таким образом, использование аннотаций типов в Python помогает повысить читаемость и надежность вашего кода, упростить отладку и обнаружение ошибок.