Развёрнутое пояснение
1️⃣Оператор | для словарей появился в Python 3.9 и создаёт новый словарь из двух исходных.
2️⃣Сначала берутся все пары из 𝚍𝟷: "𝚊": 𝟷, "𝚋": 𝟸.
3️⃣Затем добавляются пары из 𝚍𝟸: "𝚋": 𝟹, "𝚌": 𝟺. Ключ "𝚋" уже есть — его значение перезаписывается значением из правого словаря.
4️⃣Итог: {"𝚊": 𝟷, "𝚋": 𝟹, "𝚌": 𝟺}.
5️⃣Если поменять порядок: 𝚍𝟸 | 𝚍𝟷, то "𝚋" будет равно 𝟸 (из 𝚍𝟷).
Почему это важно
Порядок операндов критичен при слиянии конфигов, настроек по умолчанию и пользовательских значений. Паттерн 𝚍𝚎𝚏𝚊𝚞𝚕𝚝𝚜 | 𝚞𝚜𝚎𝚛_𝚌𝚘𝚗𝚏𝚒𝚐 — правильный, потому что пользовательские значения должны перезаписывать дефолтные.
Post #4634
707
- ✍ 4
- 👍 2