Zaczynam się uczyć Pythona i jako główny programista Java, największym problemem, jaki mam, jest zrozumienie, kiedy i kiedy nie należy używać sprawdzania typu. Większość ludzi wydaje się mówić, że kod Pythona nie powinien wymagać sprawdzania typu, ale jest wiele przypadków, kiedy uważam, że jest to konieczne. Na przykład, powiedzmy, że muszę użyć parametru metody, aby wykonać operację arytmetyczną, dlaczego nie powinienem upewnić się, że argument jest liczbowym typem danych?Kiedy należy używać sprawdzania typów (jeśli w ogóle) w Pythonie?
Ten problem nie ogranicza się tylko do funkcji. Ten sam proces myślenia występuje mi w przypadku zmiennych klasowych. Dlaczego i kiedy powinienem/powinienem używać właściwości (używając @property
), aby sprawdzić typ zamiast regularnie zaimplementowanych zmiennych klas?
Jest to nowy sposób podejścia do rozwoju, dlatego doceniam pomoc w zrozumieniu.
Dlaczego * należy * sprawdzić, czy otrzymana metoda jest typu numerycznego? Jeśli nie, wszystko, co możesz zrobić, to podnieść jakiś wyjątek; ale wyjątek * już * zostanie podniesiony, jeśli spróbujesz wykonać operację arytmetyczną na typie, który jej nie obsługuje. Więc jaki jest sens sprawdzania jawnie? –
Powiązane - http://stackoverflow.com/questions/1950386/is-it-pythonic-to-check-function-argument-types –
Możliwy duplikat [Czy powinienem wymusić sprawdzanie typu Pythona?] (Http: // stackoverflow. com/questions/17493159/should-i-force-python-type-checking) – gerosalesc