Про анотації типів у Python
May. 20th, 2020 12:05 pmКолись Python був доволі вдало спроектованою мовою і я з задоволенням на ньому писав. Потім, десь починаючи з Python 2.5, мова почала скурвлюватися. Зрештою, я майже перестав її використовувати: змінився і характер розробок, і кращі альтернативи. Але краєм ока я за ним спостерігаю і навіть, інколи, щось пописую. Ось недавно у мене і стався маленький проект під Raspberry Pi і Python там виявився доцільним. Заодно, я краєм ока глянув на анотацію типів. І побачив шизофренію:
А тепер детально, що не так.
def ordinary_twice(p): print(p*2) def typed_twice(p: int) -> int: """Я передаю число і очікую число""" print(p*2) ordinary_twice(2) 4 ordinary_twice("2") 22 # Нормальна поведінка typed_twice(2) # Тут теж 4 typed_twice("2") # А тут повинно волати, що я неправий 22 # але поведінка не змінюється!
А тепер детально, що не так.
( Read more... )