Beispiele für die Behandlung von KeyError-Ausnahmen in Python
1. Was ist eine Python KeyError-Ausnahme?
Ein Python KeyError wird ausgelöst, wenn wir versuchen, auf einen Schlüssel aus einem Dictionary zuzugreifen, der nicht existiert. Es ist eine der integrierten Ausnahmeklassen und wird von vielen Modulen ausgelöst, die mit Dictionaries oder Objekten arbeiten, die Schlüssel-Wert-Paare haben.
2. Python KeyError mit Dictionary
Lass uns ein einfaches Beispiel ansehen, in dem ein KeyError vom Programm ausgelöst wird.
emp_dict = {'Name': 'Pankaj', 'ID': 1}
emp_id = emp_dict['ID']
print(emp_id)
emp_role = emp_dict['Role']
print(emp_role)
Ausgabe :
1
Traceback (most recent call last):
File "/Users/pankaj/Documents/PycharmProjects/hello-world/journaldev/errors/keyerror_examples.py", line 6, in <module>
emp_role = emp_dict['Role']
KeyError: 'Role'
3. Python KeyError-Ausnahmebehandlung
Wir können die KeyError-Ausnahme mit einem Try-Except-Block behandeln. Lassen Sie uns die oben genannte KeyError-Ausnahme behandeln.
emp_dict = {'Name': 'Pankaj', 'ID': 1}
try:
emp_id = emp_dict['ID']
print(emp_id)
emp_role = emp_dict['Role']
print(emp_role)
except KeyError as ke:
print('Key Not Found in Employee Dictionary:', ke)
Ausgabe :
1
Key Not Found in Employee Dictionary: 'Role'
4. Vermeidung von KeyError beim Zugriff auf Dictionary-Schlüssel
Wir können einen KeyError vermeiden, indem wir die get()-Funktion verwenden, um den Wert des Schlüssels abzurufen. Wenn der Schlüssel fehlt, wird None zurückgegeben. Wir können auch einen Standardwert angeben, der zurückgegeben wird, wenn der Schlüssel fehlt.
emp_dict = {'Name': 'Pankaj', 'ID': 1}
emp_id = emp_dict.get('ID')
emp_role = emp_dict.get('Role')
emp_salary = emp_dict.get('Salary', 0)
print(f'Employee[ID:{emp_id}, Role:{emp_role}, Salary:{emp_salary}]')
Ausgabe: Mitarbeiter[ID:1, Rolle:Keine, Gehalt:0]
5. KeyError, das vom Pandas-Modul ausgelöst wird
Es gibt einige Funktionen im Pandas DataFrame, die eine KeyError-Ausnahme auslösen.
- rename()
- drop()
6. Verweise
- Python Ausnahmenbehandlung – Python try except
- KeyError Wiki Seite
