В Python словари являются одной из основных структур данных, которые предоставляют возможность хранения данных в парах ключ/значение. Для доступа к значению по ключу обычно используется синтаксис dict[key]
. Например:
dictionary = {"Name": "Harry", "Age": 17} print(dictionary["Name"]) # Вывод: Harry
Однако, в Python есть метод dict.get(key)
, который также позволяет получить значение по ключу.
dictionary = {"Name": "Harry", "Age": 17} print(dictionary.get("Name")) # Вывод: Harry
С первого взгляда, может показаться, что оба подхода эквивалентны. Однако, есть важное различие, заложенное в их поведении при обращении к несуществующему ключу.
Если попытаться обратиться к несуществующему ключу через dict[key]
, Python сгенерирует исключение KeyError
:
dictionary = {"Name": "Harry", "Age": 17} print(dictionary["Height"]) # KeyError: 'Height'
В то время как dict.get(key)
просто вернет None
, не вызывая ошибку:
dictionary = {"Name": "Harry", "Age": 17} print(dictionary.get("Height")) # Вывод: None
Это делает метод get
очень удобным для использования, когда нет уверенности в наличии ключа в словаре. При этом можно также задать второй аргумент для get
, который будет возвращаться, если ключ отсутствует в словаре:
dictionary = {"Name": "Harry", "Age": 17} print(dictionary.get("Height", "Unknown")) # Вывод: Unknown
Таким образом, выбор между dict[key]
и dict.get(key)
зависит от конкретной ситуации и от того, как нужно обрабатывать случаи отсутствия ключа в словаре.
Добавить комментарий