Was ist die Python KeyError Exception?
Python KeyError wird ausgelöst, wenn wir versuchen, auf einen Schlüssel von dict zuzugreifen, der nicht existiert. Es ist eine der eingebauten Ausnahmeklassen und wird von vielen Modulen ausgelöst, die mit dict oder Objekten arbeiten, die Schlüssel-Wert-Paare haben.
Passende Infrastruktur bei centron
Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →
Python KeyError Exception Handling mit Dictionary
Schauen wir uns ein einfaches Beispiel an, bei dem die Python KeyError Exception durch das 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)Output:
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'Python KeyError Exception Handling
Wir können die Python KeyError Exception mit dem try-except-Block behandeln. Lassen Sie uns die oben genannte Python KeyError Exception 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)Output:
1
Key Not Found in Employee Dictionary: 'Role'Vermeidung von Python KeyError beim Zugriff auf Dictionary-Schlüssel
Wir können KeyError vermeiden, indem wir die get()-Funktion verwenden, um auf den Schlüsselwert zuzugreifen. Wenn der Schlüssel fehlt, wird None zurückgegeben. Wir können auch einen Standardwert angeben, der zurückgegeben werden soll, 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}]')Output:
Employee[ID:1, Role:None, Salary:0]Python KeyError Exception Handling Beispiele
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.