Автор оригинала: Periklis Gkolias.
Python – замечательный Динамически набран язык. Но довольно много людей считают это самым большим недостатком.
Но почему?
Динамически набранные языки Удалите головную боль в написании «мирных» типовых объявлений. Это делает писать более приятным и немного быстрее. Среда выполнения языка обрабатывает динамически напечатанный язык.
Это означает, что некоторые ошибки, которые могли быть устранены почти сразу после того, как они будут введены, теперь будет молчать до тех пор, пока код не будет не призван. И вы знаете, когда это произойдет, верно?
Работа с типовыми
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 не будет летучей мыши.
Если вы хотите принуждать Проверка типа, вы должны использовать проверку типа, например, отличный Marpy Отказ
Конечно, большинство IDE имеют некоторые функциональные возможности для проверки типа. Здесь Является соответствующая документация для Pycharm.
Думает, что я хотел бы видеть в будущем
- Интеграция механизма проверки типа в ядре языка
- В результате вышеизложенного, более бесшовные подсказки. Например, если проверка типа включена, мне не должно использовать класс
Список
илиКортеж
сделать это.[]
и()
Склонники должны быть достаточно
Заключение
Спасибо за прочтение этой статьи. Это ни в коем случае не является расширенным руководством к этой великой функциональности Python. Скорее, это грунтовка, который я надеюсь, приведет к большему исследованию.
Если вы начинаете новый проект в Python 3.5+, я бы порекомендовал экспериментировать с проверкой типа. Я хотел бы увидеть ваши предложения и мысли об этой функции, поэтому не стесняйтесь оставить комментарий.
Первоначально опубликовано на мой блог Отказ