Встречается на собеседованиях • сегодня
Какие есть альтернативы object.get
В Python есть несколько способов безопасного доступа к атрибутам словаря или объекта, помимо object.get():
dict.setdefault(key, default)- возвращает значение ключа, если он есть, иначе устанавливает ключ с default значением и возвращает его:
python
d = {'a': 1}
val = d.setdefault('b', 2) # val = 2, d = {'a': 1, 'b': 2}collections.defaultdict- словарь с дефолтным значением для отсутствующих ключей:
python
from collections import defaultdict
dd = defaultdict(int)
val = dd['missing'] # 0- Оператор
:=(walrus) + проверка:
python
if (val := d.get('key')) is not None:
# обработка valtry/exceptдля обработки KeyError:
python
try:
val = d['missing']
except KeyError:
val = Nonehasattr()для объектов:
python
if hasattr(obj, 'attr'):
val = obj.attrВыбор зависит от контекста - нужна ли запись дефолтного значения, обработка исключений или просто проверка.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы