Poprawka: Python Błąd wcięcia

Python jest wschodzącym językiem programowania, z którym został wydany po raz pierwszy w 1991 roku. Język ten jest znany z dużej obszernej biblioteki i obsługuje kilka paradygmatów programowania, takich jak funkcjonalny, imperatywny, proceduralny i obiektowy.

Błąd wcięcia w Pythonie

Błąd wcięcia: oczekiwany blok wcięcia ” występuje dla wszystkich użytkowników; czy są początkującymi, czy doświadczonymi. Ponieważ Python porządkuje cały kod za pomocą poprawnych białych znaków, w przypadku złych wcięć kod nie zostanie skompilowany i zostanie wyświetlony komunikat o błędzie.

Zgodnie z konwencjami zastosowanymi w PEP8 w razie potrzeby powinny być cztery białe znaki. Idealne 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 przede wszystkim dlatego, że w kodzie występują błędy spacji lub tabulacji. 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:

  • Używasz zarówno spacji, jak i tabulatorów w kodzie. Jeśli oba są używane zamiennie, tłumacz nie będzie w stanie określić, którego elementu użyć.
  • Niewłaściwie wstawiłeś wcięcie. Jeśli praktyka wcięcia nie będzie przestrzegana, nieuchronnie wystąpi ten błąd.
  • Zapomniałeś wciąć złożone wyrażenia, takie jak „if”, „for”, „while” itp.
  • Zapomniałeś wciąć zdefiniowane przez użytkownika funkcje lub klasy .

Rozwiązanie 1: Sprawdzanie niewłaściwych białych znaków / tabulatorów

Nie ma natychmiastowej naprawy tego problemu. Ponieważ kod należy do Ciebie, musisz przejść przez każdą linię i sprawdzić, gdzie popełniłeś błąd. Kod ma kilka bloków w odniesieniu do struktury. Jeśli istnieje instrukcja „If”, konieczne jest wcięcie w następującym po niej kodzie.

Struktura bloku wizualizująca wcięcia

Sprawdź 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

Prawidłowe wcięcie pokazano w powyższym przykładzie. Zobacz pętlę „for” na początek. Wszystko wewnątrz pętli „for” musi być wcięte. Wewnątrz pętli „for” mamy instrukcję „if”. Wewnątrz wyrażenia „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 widząc wiersz, z którego powstał błąd.

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

Jeśli masz trudności z wcięciem kodu w zgadywanie, tak jak robią to wszyscy programiści, możesz włączyć symbole tab / space w swoim IDE lub edytorze kodu. Ta opcja włącza małe „kropki” w kodzie, gdzie każda kropka reprezentuje spację lub tabulator. Możesz użyć tego do dokładniejszego wcięcia kodu i upewnić się, że nie ma dodatkowych wcięć lub brakuje niektórych.

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

  1. Naciśnij Widok> Pokaż symbol> Pokaż białe znaki i TAB

    Włączanie białych znaków i Tab - Notepad ++
  1. Teraz opcja jest włączona. Możesz także włączyć Indent Guide, aby było Ci łatwiej.

Przykładowy kod z poprawnym wcięciem

Sprawdź powyższy przykład. Zobacz wcięcia zaimplementowane po każdej klasie. Każda spacja jest reprezentowana przez pojedynczą kropkę. Po wprowadzeniu zmian do niewłaściwego wcięcia w kodzie uruchom go ponownie i sprawdź, czy to rozwiąże problem.

Ciekawe Artykuły