May. 20th, 2020

balu: (Default)
Колись 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                   # але поведінка не змінюється!

А тепер детально, що не так.

Profile

balu: (Default)
от. Михайло

April 2026

S M T W T F S
   1234
5678910 11
12131415161718
19202122232425
2627282930  

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 13th, 2026 05:46 pm
Powered by Dreamwidth Studios