TypeError: object is not subscriptableTypeError: obiekt nie obsługuje indeksowania
Użyto notacji nawiasowej ([]) na obiekcie, który nie obsługuje indeksowania.
Co powoduje ten błąd
Użyto notacji nawiasowej na obiekcie, który nie implementuje __getitem__. Najczęściej zdarza się, gdy zmienna ma wartość None, jest liczbą całkowitą lub innym typem nieobsługującym indeksowania.
Jak to naprawić
Sprawdź typ obiektu przed indeksowaniem. Dodaj sprawdzenie None: if obj is not None: obj[0]. Zweryfikuj, czy zmienna jest oczekiwanego typu (lista, słownik, ciąg znaków). Używaj adnotacji typów i narzędzi do sprawdzania typów, aby wcześnie wykrywać takie błędy.
Przykład
None[0] # TypeError: 'NoneType' object is not subscriptablePowiązane kody błędów
IndentationErrorIndentationError
Kod zawiera nieprawidłowe wcięcia, które w Pythonie mają znaczenie składniowe.
ChildProcessErrorChildProcessError
Operacja na procesie potomnym nie powiodła się.
TimeoutErrorTimeoutError
Podczas operacji blokującej wystąpił limit czasu na poziomie systemowym.
AttributeErrorAttributeError
Obiekt nie posiada żądanego atrybutu ani metody.
IsADirectoryErrorIsADirectoryError
Wykonano operację na pliku dla ścieżki, która jest katalogiem.
pickle.UnpicklingErrorpickle.UnpicklingError
Moduł pickle nie mógł deserializować dostarczonych danych.