Загружаем изображение…

Нужно убрать лишние проверки ключей в словарях и сделать код чище?



Используйте dict.get(key, default), Python вернёт значение, а если ключа нет — подставит дефолт. Без второго аргумента вернёт None.
user = {"id": 10, "role": "admin"}
role = user.get("role", "guest")
age = user.get("age", 0)

print(role, age)


Выведет:
admin 0

Это заменяет более громоздкое:
if "age" in user:
age = user["age"]
else:
age = 0


Работает и для вложенных структур:
cfg = {"db": {"port": 5432}}
port = cfg.get("db", {}).get("port", 3306)


Полезно в конфигурациях, JSON, формах и везде, где ключи могут отсутствовать (и их не нужно отличать от значений None).

Python Ready | #совет
Просмотры: 186
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти