Powód 1: Nieprawidłowe nazewnictwo zmiennej w Pythonie
Jak wspomniano powyżej, ten błąd może być spowodowany, gdy użytkownik nazywa zmienną równą zarezerwowanemu słowowi kluczowe i używa tego zarezerwowanego słowa kluczowego w tym samym programie. Przykładem wykazania tego błędu można odtworzyć za pomocą następującego fragmentu kodu:
int = 5Po wykonaniu tego kodu wytworzy on:
W tym przykładzie błąd jest spowodowany, ponieważ program próbuje wywołać zmienną stworzoną przez użytkownika „INT” jako funkcja, co nie jest możliwe.
Rozwiązanie: Podaj odpowiednie identyfikatory do zmiennych
Aby rozwiązać ten problem, użytkownik może podać inną nazwę zmiennej w pierwszym wierszu, a właściwym kodem dla tego przykładu jest:
A = 5Gdy ten kod zostanie wykonany teraz, da następujący wynik na terminalu:
Jak widać, że program pomyślnie wykonał bez żadnych błędów.
Powód 2: Niepoprawne wywołanie metody importowanego modułu
Ten błąd występuje również, gdy użytkownik nie jest poprawnie używa importu modułu podczas uzyskiwania dostępu do jego metod; Aby to zademonstrować, weź następujący fragment kodu:
Gniazdo importuW tym kodowym fragmencie:
Po wykonaniu tego kodu daje następujący wynik:
Zobaczmy, jak naprawić ten błąd.
Rozwiązanie 1: Użyj nazwy modułu z operatorem kropkowym
Cóż, to rozwiązanie jest dość proste; Podczas wywoływania metody użyj nazwy modułu i uzyskaj dostęp do jej metody po zastosowaniu operatora kropki, tak jak:
Gniazdo importuTym razem, gdy kod jest wykonywany, daje następujący wynik na terminalu:
Jak widać, program był w stanie wykonać bez żadnych błędów.
Rozwiązanie 2: Zastosowanie podejścia z import
Jeśli nie chcesz ponownie używać nazwy modułu w całym programie, możesz zmienić sposób importowania modułu w swoim programie; I zamiast używać „Moduł importu,„Możesz użyć„Z importu modułu *". To robi, że bezpośrednio dodaje metody modułu do twojego programu.
Dzięki temu rozwiązaniu właściwym kodem jest:
z gniazda importu *Tym razem, gdy ten kod zostanie wykonany, przyniesie następujący wynik:
Wyjście potwierdza, że błąd z powodzeniem uniknął.
Wniosek
Błąd Pythona „Obiekt nie można nazwać” jest często powodowany przez wywołanie zmiennej jako funkcji/modułu, gdy zmienna ta przechowuje prostą wartość zamiast być metodą. Ponadto, gdy nazwa zmiennej jest ustawiona jako zarezerwowane słowo kluczowe dla wbudowanej metody, a wbudowana metoda jest również używana w tym samym programie, powoduje również ten błąd. Ostatnim powszechnym powodem tego błędu jest nieprawidłowy sposób importowania modułu i wywołania jego metody, co zostało wyjaśnione w tym przewodniku.