Aktywne Wpisy

Treść przeznaczona dla osób powyżej 18 roku życia...
olsnienie +64
Trzeźwi plusują, a te ochlane mordy z gnijącymi wątrobami niech zdychają z kacem mordercą w łóżkach albo gdzie tam ich a-----l powlekł, nawet mi ich nie żal
A ja już na spacerku z piesełem
A ja już na spacerku z piesełem
źródło: Clipboard01
Pobierz




Ok to robię tak tworzę sobie klasę nazwijmy ją 'a' która w konstruktorze (_init_()) ma jedno pole które chce, żeby było listą, później tworzę obiekt typu a i chcę zrobić tak, że jeżeli włożę do konstruktora np. int to wysypie błąd. Widziałem, że jest metoda isinstance(), ale piszą, że nie powinno się sprawdzać w sposób jawny, ponieważ zmniejsza to elastyczność kodu, to w takim razie jak powinno się to zrobić, czy może po prostu nie sprawdzać i trzeba uważać co gdzie się pisze
Ale fakt jest taki, że to Python dynamicznie typowany. I albo wprowadzasz poprawnie dane, ale powinieneś przemyśleć swoje zachowanie ;)
@kaab10: Nie do końca. Dobrze jest robić kod jak najbardziej ogólny, tak żeby można było na przykład podać krotkę lub generator zamiast listy, ale na początku nauki nie musisz się tym przejmować. Jeżeli Ty, autor, jawnie zakładasz że argumentem wejściowym ma być lista, to powinieneś to wymusić. Oprogramowanie nie powinno
btw,
__init__(self)to nie konstruktor :)Pierwszy raz słyszę, by
__init__(self)miał nie być konstruktorem…konstruktorem jest
__new__@GlenPL: @morsik: nie bardzo wiedziałem jak to nazwać, a korzystałem z tego jak z konstruktora ( ͡° ͜ʖ ͡°)
init -> initializewskazuje :D