Как использоватьhttps://codemdd.io/исправить KeyError?
Python KeyError и как с ним справиться
Python KeyError - это общее исключение, с которым сталкиваются начинающие программисты. Знание причин возникновения KeyError и несколько решений для предотвращения его остановки программы - это важный шаг в улучшении навыков программирования на Python.
В конце этого руководства вы узнаете:
- Что обычно означает Python KeyError.
- Где еще можно встретить KeyError в стандартной библиотеке.
- Как обработать KeyError при его возникновении.
Бесплатный бонус: Щелкните здесь, чтобы получить нашу бесплатную шпаргалку по Python, которая покажет вам основы Python 3, такие как работа с типами данных, словарями, списками и функциями Python.
Что обычно означает Python KeyError
В Python исключение KeyError возникает, когда вы пытаетесь получить доступ к ключу, который отсутствует в словаре (dict).
Официальная документация Python говорит, что KeyError возникает, когда к ключу отображения обращаются и его нет в отображении. Отображение является структурой данных, которая отображает один набор значений на другой. Самое распространенное отображение в Python - это словарь.
Python KeyError является разновидностью исключения LookupError
и указывает на проблему с получением искомого ключа. Когда вы видите KeyError, это означает, что искомый ключ не найден.
В приведенном ниже примере видно, как определен словарь (ages) с возрастами трех человек. При попытке получить доступ к ключу, которого нет в словаре, возникает KeyError:
Python
В этом примере попытка получить доступ к ключу 'Michael'
в словаре ages
приводит к возникновению KeyError. Можно заметить, что в конце сообщения об ошибке содержится следующая информация:
- факт возникновения исключения KeyError,
- ключ, который не удалось найти, -
'Michael'
.
Предпоследняя строка сообщает, на какой строке произошло исключение. Эта информация более полезна, когда вы выполняете код Python из файла.
Примечание: Когда в Python возникает исключение, оно сопровождается специализированной информацией, которая позволяет определить, почему возникло исключение и что его вызвало.
В приведенной ниже программе вы можете увидеть снова определенный словарь ages
. На этот раз вам будет предложено ввести имя человека, чтобы узнать его возраст:
Python
Этот код получит имя, которое вы введете в окне ввода и попытается получить возраст этого человека. Будет выведена информация об имени и возрасте:
Программа попыталась получить возраст для имени 'Michael'
, но получила ошибку KeyError. В результатах трассировочного вывода видно, что возникло исключение KeyError, и указан ключ, который не был найден.
Где еще можно встретить KeyError в стандартной библиотеке
Помимо словарей, KeyError может возникнуть при работе с другими типами данных в стандартной библиотеке Python. Например, при работе с модулем os.environ
, который предоставляет доступ к переменным окружения операционной системы, также может возникнуть KeyError при попытке получить значение переменной, которой нет в окружении.
Рассмотрим пример:
Python
В данном примере мы выводим значение переменной окружения PATH
и PYTHON_HOME
. Если переменных с такими именами нет в окружении, то возникнет ошибка KeyError.
В этом случае возникает KeyError, потому что переменная окружения 'PYTHON_HOME'
отсутствует.