Почему стоит экспериментировать с проверкой типов в Python

1656565568 pochemu stoit eksperimentirovat s proverkoj tipov v python

Python — отличный динамически типизированный язык. Но многие считают это своим самым большим недостатком.

Но почему?

Динамически типизированные языки снимают головные боли от написания деклараций «земных» типов. Это делает писать более приятно и немного быстрее. Среда выполнения языка обрабатывает динамически типизированный язык.

Это означает, что некоторые ошибки, которые можно было бы устранить почти сразу после их появления, будут оставаться молчаливыми, пока код не будет вызван. И вы знаете, когда это произойдет, не правда ли?

UaDW4hJ1lDelQm2C0Qish4GrS1fhZPaZ2LWd

Работа с типами

Python добавил, начиная с версии 3.5, необязательный поддержка подсказок типа через модуль набора текста.

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

Как это использовать

Способ его использования или по крайней мере начать его использование достаточно прост и понятен. Это очень похоже на способ статического ввода TypeScript, если вы знакомы. Вот пример:

# Typing is the core module that supports type checking.
# In here we import List, which provided equivalent functionality to
# the list() function or the [] equivalent shorthand
from typing import List
# We define a function, as usually but we add the expected
# type to the args and we add a return type too
def find_files_of_type(type: str, files_types: List[str]) -> bool:
return (type in files_types)
files_types: List[str] = [‘ppt’, ‘vcf’, ‘png’]
type_to_search: str = ‘ppt’
print(‘Found files of type {} in list? {}’.format(type_to_search,
find_files_of_type(type_to_search, files_types)))

Немного неудобно, но все равно понятно, не правда ли? 🙂

Потенциальная ловушка

Возможно, вы заметили, что я вспомнил слово «необязательное» в нескольких строках выше. Таким образом, на момент написания настоящей статьи проверка типа не применялась.

Вы можете добавить любой неподходящий тип, который хотите, к своим переменным. Выполняйте с ними наиболее недействительные, неподходящие и «извращенные» операции, но Python не моргнет глазом.

Если хочешь выполнять Для проверки типов следует использовать средство проверки типов, как большой mypy.

Конечно, большинство IDE имеют определенную функциональность для проверки типов. Вот подходящая документация для Pycharm.

Думаю, что хотел бы увидеть в будущем

  • Интегрируйте механизм проверки типов в ядро ​​языка
  • В результате вышесказанного, более бесшовные подсказки типа. Например, если включена проверка типов, мне не придется использовать класс List или Tuple сделать это. The [] и () сокращений должно быть достаточно

Вывод

Спасибо, что прочли эту статью. Это отнюдь не расширенное руководство по этой замечательной функциональности Python. Скорее это букварь, который, я надеюсь, приведет к дополнительным исследованиям.

Если вы начинаете новый проект на Python 3.5+, я рекомендовал бы поэкспериментировать с проверкой типов. Я хотел бы увидеть ваши предложения и мнения по поводу этой функции, поэтому не стесняйтесь оставлять комментарии.

Сначала опубликовано в моем блоге.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *