При работе со словарями в Python метод .get() позволяет сделать код более компактным и читабельным, и безопасно получать значение по ключу, предоставляя возможность задать значение по умолчанию, если ключ отсутствует.


Пример 1

При прямом обращении your_dict['some_key'] и отсутствии ключа в словаре, Python выбрасывает исключение KeyError, что может привести к аварийному завершению работы программы, если исключение не обработано. Метод .get() вместо этого возвращает значение по умолчанию, предотвращая возникновение ошибки. Использовать прямое обращение стоит лишь тогда, когда вы абсолютно уверены, что значение должно быть, и хотите, чтобы программа упала в случае его отсутствия, чтобы это не прошло незамеченным.

Плохо:


person_characteristics = {'name': 'Alice', 'age': 30}
city = person_characteristics['city']

Хорошо:


person_characteristics = {'name': 'Alice', 'age': 30}
city = person_characteristics.get('city')


Пример 2

Используя .get(), вы прямо указываете, какое значение должно возвращаться, если ключ не найден, например, None или другое значение по умолчанию.

Плохо:


person_characteristics = {'name': 'Alice', 'age': 30}

if 'city' in person_characteristics:
    city = person_characteristics['city']
else:
    city = 'Unknown'

Хорошо:


person_characteristics = {'name': 'Alice', 'age': 30}
city = person_characteristics.get('city', 'Unknown')