Развёрнутое пояснение
1️⃣Исторически в Python не было типа 𝚋𝚘𝚘𝚕 — использовались 𝟶 и 𝟷. Когда 𝚋𝚘𝚘𝚕 добавили, его сделали подклассом 𝚒𝚗𝚝 для обратной совместимости.
2️⃣𝚃𝚛𝚞𝚎 ведёт себя как 𝟷 в арифметических операциях: 𝚃𝚛𝚞𝚎 + 𝚃𝚛𝚞𝚎 = 𝟸, потом 𝟸 + 𝚃𝚛𝚞𝚎 = 𝟹.
3️⃣Это позволяет считать количество истинных значений: 𝚜𝚞𝚖([𝚃𝚛𝚞𝚎, 𝙵𝚊𝚕𝚜𝚎, 𝚃𝚛𝚞𝚎]) вернёт 𝟸.
4️⃣Результат сложения — тип 𝚒𝚗𝚝, а не 𝚋𝚘𝚘𝚕.
Почему это важно
С одной стороны, это удобно для подсчёта: 𝚜𝚞𝚖(𝚡 > 𝟶 𝚏𝚘𝚛 𝚡 𝚒𝚗 𝚗𝚞𝚖𝚜). С другой — может удивить при отладке или сериализации, когда вместо 𝚃𝚛𝚞𝚎 вдруг появляется число.
Post #4616
880
- 🔥 5
- 👍 2