Автор оригинала: Pankaj Kumar.
1. Что такое исключение Python KeeRror?
Python KeyError поднят, когда мы пытаемся получить доступ к ключу от Dict, который не существует. Это один из встроенных классов исключения и подняты многими модулями, которые работают с диктовыми или объектами, имеющими пары ключевых ценностей.
2. Python KeeRror с словарем
Давайте посмотрим на простой пример, где Coyerror поднимается программой.
emp_dict = {'Name': 'Pankaj', 'ID': 1} emp_id = emp_dict['ID'] print(emp_id) emp_role = emp_dict['Role'] print(emp_role)
Выход:
1 Traceback (most recent call last): File "/Users/pankaj/Documents/PycharmProjects/hello-world/journaldev/errors/keyerror_examples.py", line 6, inemp_role = emp_dict['Role'] KeyError: 'Role'
3. Обработка исключений в камере Python
Мы можем обрабатывать исключение keyError, используя блок TRY – кроме блока. Давайте обрабатываем вышеуказанное исключение keyError.
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)
Выход:
1 Key Not Found in Employee Dictionary: 'Role'
4. Избегайте KeeRror при доступе к ключу словаря
Мы можем избежать keyError с помощью функции Get () для доступа к значению ключей. Если ключ отсутствует, никто не возвращается. Мы также можем указать значение по умолчанию для возврата, когда ключ отсутствует.
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}]')
Выход: Сотрудник [ID: 1, роль: нет, зарплата: 0]
5. KeeRror, поднятый модулем PandaS
Существует несколько функций в PandaS DataFrame, которая поднимает исключение keyError.
- переименовать ()
- уронить()
6. Ссылки
- Обработка исключений Python – Python Try, кроме
- PareError Wiki Page