Развёрнутое пояснение
1️⃣Переменной 𝚊 присваивается целое число 𝟷.
2️⃣В выражении 𝚋 = (𝚊) скобки играют только роль группировки — результатом остаётся то же значение 𝟷, и 𝚋 ссылается на обычное целое; поэтому 𝚝𝚢𝚙𝚎(𝚋) 𝚒𝚜 𝚝𝚞𝚙𝚕𝚎 возвращает False.
3️⃣В выражении 𝚌 = (𝚊,) уже есть запятая, которая и создаёт одноэлементный кортеж; поэтому 𝚝𝚢𝚙𝚎(𝚌) 𝚒𝚜 𝚝𝚞𝚙𝚕𝚎 даёт True.
4️⃣Функция 𝚙𝚛𝚒𝚗𝚝(𝚝𝚢𝚙𝚎(𝚋) 𝚒𝚜 𝚝𝚞𝚙𝚕𝚎, 𝚝𝚢𝚙𝚎(𝚌) 𝚒𝚜 𝚝𝚞𝚙𝚕𝚎) выводит False True одной строкой.
Почему это важно
Один «лишний» символ, легко превращает значение в кортеж и ломает код далеко от места ошибки (например, при работе с dict, URL, числами), поэтому одноэлементные кортежи всегда лучше записывать явно как (𝚟𝚊𝚕𝚞𝚎,), а не полагаться на неочевидный синтаксис.
Post #4559
692
- 👍 3