Poprawka: błąd wcięcia w Pythonie

Python to wyłaniający się język programowania, który został wydany po raz pierwszy w 1991 roku. Język ten jest znany ze swojej obszernej, kompleksowej biblioteki i obsługuje kilka paradygmatów programowania, takich jak funkcjonalny, imperatywny, proceduralny i obiektowy.

Błąd wcięcia Python podczas kodowania

Komunikat „ Błąd wcięcia: oczekiwano bloku z wcięciem ” występuje dla wszystkich rodzajów użytkowników; czy są nowicjuszami czy doświadczonymi. Ponieważ Python porządkuje cały swój kod za pomocą prawidłowych białych znaków, jeśli masz złe wcięcie, kod nie zostanie skompilowany i zostanie wyświetlony komunikat o błędzie.

Zgodnie z konwencjami stosowanymi w PEP8, tam, gdzie jest to wymagane, powinny znajdować się cztery spacje. Idealnym rozwiązaniem dla każdego programisty jest stosowanie odpowiednich wcięć, dzięki czemu poprawia się czytelność kodu.

Co powoduje błąd wcięcia w Pythonie?

Jak wspomniano wcześniej, ten błąd występuje głównie z powodu błędów spacji lub tabulacji w kodzie. Ponieważ Python używa języka proceduralnego, możesz napotkać ten błąd, jeśli nie umieściłeś poprawnie tabulatorów / spacji. Program może działać poprawnie, ale jeśli interpreter znajdzie ten błąd, komunikat o błędzie pojawi się w środku. Niektóre z przyczyn błędu to:

  • W swoim kodzie używasz zarówno spacji, jak i tabulatorów . Jeśli oba są używane zamiennie, tłumacz nie będzie w stanie określić, której pozycji użyć.
  • Niektóre wcięcia zostały źle umieszczone . Jeśli praktyka wcięcia nie jest przestrzegana, nieuchronnie wystąpi ten błąd.
  • Zapomniałeś dodać wcięcia w instrukcjach złożonych, takich jak „if”, „for”, „while” itp.
  • Zapomniałeś o wcięciu funkcji lub klas zdefiniowanych przez użytkownika .

Rozwiązanie 1: Sprawdzanie, czy nie ma nieprawidłowych białych znaków / tabulatorów

Nie ma natychmiastowego rozwiązania tego problemu. Ponieważ kod jest Twój, musisz przejść przez każdą linię i zobaczyć, gdzie popełniłeś błąd. W kodzie jest kilka bloków odnoszących się do struktury. Jeśli istnieje instrukcja „If”, musi istnieć wcięcie kodu, który po niej następuje.

Struktura blokowa wizualizująca wcięcia w Pythonie

Spójrz na powyższy schemat. Zobacz, że wcięcie dla określonego bloku pozostaje takie samo w całym kodzie, nawet jeśli nowy blok zostanie wprowadzony w środku. Upewnij się, że wcięcie jest spójne. Jeśli używasz spacji, zawsze używaj spacji, a jeśli używasz tabulatorów, zawsze używaj tabulatorów. Mieszanie dwóch spowoduje problemy.

Przykład wcięcia w Pythonie

W powyższym przykładzie pokazano prawidłowe wcięcie. Zobacz pętlę „for” na początek. Wszystko wewnątrz pętli „for” musi być wcięte. Wewnątrz pętli „for” znajduje się instrukcja „if”. Wewnątrz instrukcji „if” wszystko musi być dalej wcięte.

Możesz łatwo sprawdzić, gdzie wystąpił błąd wcięcia, sprawdzając dziennik błędów i sprawdzając wiersz, z którego pochodzi błąd.

Rozwiązanie 2: Włączanie symboli tabulacji / spacji w edytorze

Jeśli masz problem z wcięciem kodu przez „zgadywanie”, jak robią to wszyscy programiści, możesz włączyć symbole tabulacji / spacji w swoim IDE lub edytorze kodu. Ta opcja włączy małe „kropki” w kodzie, gdzie każda kropka reprezentuje spację lub tabulator. Możesz użyć tego, aby bardziej poprawnie wciąć kod i upewnić się, że nie ma dodatkowego wcięcia lub brakuje niektórych.

W tym przykładzie weźmiemy Notepad ++ i zobaczymy, jak możesz włączyć symbole. Jeśli używasz innego oprogramowania do edycji kodu, możesz włączyć określone dla niego ustawienie.

  1. Naciśnij Widok> Pokaż symbol> Pokaż odstępy i TABWłączanie białych znaków i tabulatorów w Pythonie
  1. Teraz opcja jest włączona. Możesz również włączyć przewodnik po wcięciach, aby ułatwić Ci pracę.
Przykładowy kod z poprawnym wcięciem w Pythonie

Sprawdź powyższy przykład. Zobacz wcięcia zaimplementowane po każdej klasie. Każda przestrzeń jest reprezentowana przez jedną kropkę. Po wprowadzeniu zmian w niewłaściwym wcięciu w kodzie uruchom go ponownie i sprawdź, czy to rozwiązuje problem.