Python Ready | Программирование
Нужно убрать лишние проверки ключей в словарях и сделать код чище?
Используйте 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 | #совет Если у вас установлено приложение,
вы можете сразу перейти в канал