Python: задачки и вопросы
7.48K subscribers
1.29K photos
1 video
1 file
121 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Развёрнутое пояснение

1️⃣Строка 𝚜 содержит: пробел, 𝚊, пробел, 𝚋, пробел — всего 5 символов.

2️⃣Метод 𝚜.𝚜𝚙𝚕𝚒𝚝() воспринимает любую последовательность пробелов как один разделитель и игнорирует ведущие/завершающие, поэтому результат — ['𝚊', '𝚋'], длина 𝟸.​​

3️⃣Метод 𝚜.𝚜𝚙𝚕𝚒𝚝(' ') разбивает ровно по каждому пробелу: пробел в начале даёт '', затем '𝚊', затем '𝚋', пробел в конце даёт ''; итого ['', '𝚊', '𝚋', ''] — длина 𝟺.

Почему это важно
Многие разработчики интуитивно считают, что 𝚜𝚙𝚕𝚒𝚝(' ') и 𝚜𝚙𝚕𝚒𝚝() — это одно и то же, но на практике разница критична при парсинге данных: логи, CSV-файлы или пользовательский ввод часто содержат лишние пробелы в начале/конце строк или двойные пробелы между словами. Если использовать 𝚜𝚙𝚕𝚒𝚝(' ') для такой строки, в результате появятся пустые элементы '', которые могут сломать дальнейшую обработку — например, 𝚒𝚗𝚝('') выбросит ошибку, а 𝚕𝚎𝚗(𝚛𝚎𝚜𝚞𝚕𝚝) покажет неверное количество «слов». Правило простое: если нужно разбить текст на слова — используй 𝚜𝚙𝚕𝚒𝚝() без аргументов; если нужно точное разбиение по конкретному символу с сохранением структуры — тогда 𝚜𝚙𝚕𝚒𝚝(' ').
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Разбор по шагам

1️⃣Переменная 𝚡 имеет значение False.

2️⃣В условии 𝚢 := 𝚡 𝚘𝚛 𝚃𝚛𝚞𝚎 сначала вычисляется правая часть: 𝚡 𝚘𝚛 𝚃𝚛𝚞𝚎 → False or True → True.​

3️⃣Затем walrus-оператор присваивает это значение переменной 𝚢, то есть 𝚢 = 𝚃𝚛𝚞𝚎.

4️⃣Условие if истинно (𝚢 равно True), поэтому выполняется print(y) и на экран выводится True.

Почему это важно
Если бы разработчик хотел присвоить 𝚢 значение 𝚡, а потом проверить 𝚢 𝚘𝚛 𝚃𝚛𝚞𝚎, нужны скобки: (𝚢 := 𝚡) 𝚘𝚛 𝚃𝚛𝚞𝚎. Без понимания приоритета легко получить неожиданный результат.
Please open Telegram to view this post
VIEW IN TELEGRAM
3