• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python nie rozumiem kodu

VPS Starter Arubacloud
0 głosów
176 wizyt
pytanie zadane 14 maja 2022 w Python przez thesolitaryofchoice Początkujący (490 p.)

Witam,

Mam prośbę, przeglądam taki kurs aktualnie: https://www.youtube.com/watch?v=Ej_02ICOIgs&t=4779&ab_channel=freeCodeCamp.org i nie mogę pojąć tego kawałka kodu:

    @staticmethod
    def is_integer(num):
        if isinstance(num, float):
            return num.is_integer()
        elif isinstance(num, int):
            True
        else:
            False

To znaczy, jeżeli wpiszę np. Nazwa_Klasy.is_integer(7.0) to metoda statyczna zwróci True, a jeżeli wpiszę Nazwa_Klasy.is_integer(7.5) to ta metoda statyczna zwróci mi False. A jeżeli wpiszę jako num jakiegoś stringa albo integera to zwróci mi None. Nie mogę pojąć dlaczego przy wartości, która jest liczbą całkowitą zwraca None. Rozumiem, że przechodzi przez pierwsze wyrażenie warunkowe 'odnotowuje', że to nie liczba zmiennoprzecinkowa, no właśnie i dlaczego przechodzi do wartości domyślnie zwracanej jak w przypadku gdy funkcja/metoda nic konkretnego, by nie zwracała, zamiast przejść do elif is_instance(num, int): True. No i jak to się dzieje, że funkcja jakby obcina przy 7.0 zero na końcu i traktuje to jak liczbę całkowitą. Przepraszam, być może mój problem wynika z tego, że biegle nie władam angielskim, a film jest jednak po angielsku. Z góry dziękuję za każdą pomoc.

Pozdrawiam

Mateusz

1 odpowiedź

+1 głos
odpowiedź 14 maja 2022 przez adrian17 Ekspert (344,100 p.)
wybrane 14 maja 2022 przez thesolitaryofchoice
 
Najlepsza

Bo funkcja jest źle napisana :)

        True
    else:
        False

to nie jest Haskell czy Rust, że wartość jest automatycznie zwracana z funkcji. Musisz napisać `return <costam>`, inaczej funkcja dochodzi do końca i domyślnie zwraca None. Tak jak teraz, to ten "True" i "False" nic nie robią.

komentarz 14 maja 2022 przez thesolitaryofchoice Początkujący (490 p.)
Sorki, widać zaginąłem w akcji. Rzeczywiście jak wpisałem return to wszystko działa. Dzięki.

Podobne pytania

+1 głos
1 odpowiedź 271 wizyt
pytanie zadane 14 maja 2022 w Python przez thesolitaryofchoice Początkujący (490 p.)
+1 głos
0 odpowiedzi 233 wizyt
pytanie zadane 2 maja 2022 w Python przez niezalogowany
0 głosów
1 odpowiedź 863 wizyt
pytanie zadane 13 listopada 2020 w Python przez PapierowyRycerz Początkujący (290 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...