|
|||||||
Типизация (аннотация типов) в Python
Время создания: 04.07.2018 18:30
Автор: br0ke
Текстовые метки: python, type, types, annotation, annotations, strict types, mypy
Раздел: Информационные технологии - Python - Основы языка
Запись: and-semakin/mytetra_data/master/base/15307110278ihvpqbkyj/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
В Python нет строгой проверки на типы переменных (во время исполнения), но её можно проводить статически (перед исполнением) при помощи внешних утилит, таких как mypy . В последних версиях Python (3.0+ для аннотации типов аргументов функции, 3.6+ для аннотации типов переменных) поддерживает аннотацию типов в своём синтаксисе аннотацию типов переменных и аргументов функций, ранее аннотацию типов можно было производить через специальные комментарии. Установка mypy: python3 -m pip install -U mypy Пример использования: Обычный код на Python: def fib(n): a, b = 0, 1 while a < n: yield a a, b = b, a+b Типизированный код на Python:
def fib(n: int) -> Iterator[int]: a, b = 0, 1 while a < n: yield a a, b = b, a+b Еще один пример: from typing import List def multisearch(needle: str, haystack: str) -> List[int]: # Not necessarily the most efficient implementation offset = haystack.find(needle) if offset == -1: return [] return [offset] + multisearch(needle, haystack[offset+1:]) $ mypy --strict-optional search6.py $ |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|