Wyjątek Keyerror Python

Wyjątek Keyerror Python
Keyerror Wyjątek może wystąpić w Pythonie z wielu powodów. Próba dostępu do nieprawidłowego klucza słownika Pythona jest jednym z nich. Słownik służy do przechowywania wielu wartości, w których każda wartość jest dostępna przez określoną wartość kluczową. Keyerror występuje, gdy próba dostępu do klucza słownika, który nie istnieje lub do próby dostępu do nieprawidłowego klucza. Ten typ Keyerror można uniknąć, uzyskując dostęp do ważnych kluczy słownika lub można je obsłużyć za pomocą próba z wyjątkiem blok Pythona. Ten wyjątek może wystąpić również w przypadku niektórych innych modułów Pythona. Sposoby radzenia sobie lub unikania Keyerror Wyjątki podczas dostępu do słownika Pythona są pokazane w tym samouczku.

Przykład-1: Występowanie wyjątku Keyerror dla nieprawidłowego klucza

Utwórz plik Pythona z następującym skryptem, aby sprawdzić występowanie Keyerrora dla nieprawidłowego klucza słownika. W skrypcie zadeklarowano słownik trzech par kluczowych. Następnie do odczytania wartości słownika użyto trzech kluczy, w których nazywany klucz 'typ' nie istnieje w słowniku. Keyerror wystąpi w momencie odczytu wartości „Typ”.

# Deklaruj słownik
DIC_Customers = „Customer_id”: „B-45322”, „Nazwa”: „Meena kumari”, „concT_Type”: „Zapisywanie”
# Przeczytaj i wydrukuj identyfikator klienta
id = DIC_Customers ['Customer_id']
Drukuj („identyfikator klienta:”, id)
# Przeczytaj i wydrukuj nazwę klienta
Nazwa = DIC_Customers ['Nazwa']
Drukuj („Nazwa klienta:”, nazwa)
# Przeczytaj i wydrukuj typ konta
type = DIC_Customers ['typ']]
drukuj („Typ konta:”, typ)

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Wartości prawidłowych klawiszy słownika zostały wydrukowane, a KeyerRor został wyświetlony dla nieprawidłowego klucza ”typ'.

Przykład-2: Obsługa wyjątku Keyerror za pomocą bloku próbnego

Wyjątek Keyerror można obsługiwać na różne sposoby. Jednym ze sposobów jest użycie bloku próbowania, aby obsłużyć ten błąd. Utwórz plik Python z następującym skryptem, aby obsłużyć Keyerror za pomocą bloku Try-Except. W skrypcie ogłoszono słownik trzech elementów. Keyerror wystąpi w momencie odczytu wartości klucza o nazwie „Typ”, który nie istnieje w słowniku, a niestandardowy komunikat o błędzie zostanie wyświetlony.

# Deklaruj słownik
DIC_Customers = „Customer_id”: „B-45322”, „Nazwa”: „Meena kumari”, „concT_Type”: „Zapisywanie”
próbować:
# Przeczytaj i wydrukuj identyfikator klienta
id = DIC_Customers ['Customer_id']
Drukuj („identyfikator klienta:”, id)
# Przeczytaj i wydrukuj nazwę klienta
Nazwa = DIC_Customers ['Nazwa']
Drukuj („Nazwa klienta:”, nazwa)
# Przeczytaj i wydrukuj typ konta
type = DIC_Customers ['typ']]
drukuj („Typ konta:”, typ)
Z wyjątkiem Keyerror jako klucza:
# Wydrukuj komunikat o błędzie
print („ klucz nie istnieje w słowniku.'.format (klucz))

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Wartości prawidłowych kluczy słownika zostały wydrukowane, a błąd został wyświetlony dla nieprawidłowego klucza.

Przykład-3: Unikanie wyjątku Keyerror za pomocą funkcji get ()

Keyerror Wyjątek można uniknąć za pomocą funkcji get () bez użycia bloku try_except. Get () to wbudowana funkcja Pythona do odczytania wartości konkretnego klucza słownika. Ta funkcja zwraca wartość klucza, jeśli istnieje klucz; W przeciwnym razie powraca Nic. Utwórz plik Python z następującym skryptem, aby wiedzieć, jak uniknąć Keyerror za pomocą funkcji get (). W skrypcie funkcja get () została użyta do odczytania dwóch prawidłowych kluczy i jednego nieprawidłowego klucza słownika.

# Deklaruj słownik
DIC_Customers = „Customer_id”: „B-45322”, „Nazwa”: „Meena kumari”, „concT_Type”: „Zapisywanie”
# Ustaw wartość kluczową
key = „Nazwa”
# Wydrukuj wartość klucza, jeśli istnieje
print („Wartość klucza to: ”.format (klucz, DIC_Customers.Weź klucz)))
# Ustaw wartość kluczową
key = „Typ”
# Wydrukuj wartość klucza, jeśli istnieje
print („Wartość klucza to: ”.format (klucz, DIC_Customers.Weź klucz)))
# Ustaw wartość klucza
key = „bilans”
"
Wydrukuj wartość klucza, jeśli istnieje,
w przeciwnym razie ustaw wartość nowego klucza
"
print („Wartość klucza to: ”.format (klucz, DIC_Customers.Get (klucz, 60000)))

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. ''typ' Klucz nie istnieje w słowniku. Więc 'Nic' Wartość została zwrócona przez funkcję get () dla tego klucza.

Przykład-4: Unikanie wyjątku Keyerror za pomocą instrukcji IF-ELSE

Keyerror Wyjątek można również uniknąć bez użycia funkcji get (). Utwórz plik Python z następującym skryptem, aby uniknąć Keyerror wyjątek, sprawdzając istnienie klucza słownika. Funkcja nazwana 'klucz sprawdzić' został ogłoszony w skrypcie, aby sprawdzić istnienie każdego klucza słownika. Funkcja zwróci sformatowaną wartość klucza, jeśli klucz istnieje w słowniku; W przeciwnym razie zwróci komunikat o błędzie. Zastosowano tutaj słownik trzech elementów. Na początku 'Identyfikator klienta' zostanie sprawdzone, że istnieje w słowniku. Następnie ''typ„Klucz, który nie istnieje w słowniku, zostanie sprawdzony.

# Zdefiniuj funkcję, aby sprawdzić klucz, czy nie
def check_key (k, DIC):
Jeśli k w DIC.Klucze():
print („Klucz to .".format (k, DIC [k])))
w przeciwnym razie:
print („ klucz nie istnieje w słowniku.".format (k))
# Deklaruj słownik
DIC_Customers = „Customer_id”: „B-45322”, „Nazwa”: „Meena kumari”, „concT_Type”: „Zapisywanie”
# Zadzwoń do funkcji, aby sprawdzić klawisz „Customer_id”
Check_Key („Customer_id”, DIC_Customers)
# Wywołaj funkcję, aby sprawdzić klawisz „Typ”
check_key („typ”, DIC_Customers)

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Wartość ''Identyfikator klienta„Klucz został wydrukowany, a komunikat o błędzie został wydrukowany dla 'typ' klucz.

Wniosek:

W tym samouczku pokazano różne sposoby uniknięcia wyjątku Keyerror, który występuje dla nieistniejącego klucza. Użytkownicy Python mogą zastosować dowolny ze sposobów wymienionych tutaj na podstawie ich wymagań.