и посмотреть медиа
Код на салфетке - Python кодинг
и посмотреть медиа
Канал о программировании на Python и других языках. Простые объяснения и коды.
Канал о программировании на Python и других языках. Простые объяснения и коды.
AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.
Ресурс для интересующихся программированием. Фокус на Python, но охватывает и другие темы. Простые примеры и разборы.
Знаете ли вы, что в Python -7 // 2 равно -4, а не -3? Целочисленное деление в Python работает не так, как в C-подобных языках. 7 // 2 дает 3 и там и там, но -7 // 2 в Python это -4, а в C это -3. Разница в том, как округляется результат – к нулю или к минус бесконечности. print(-7 // 2) # -4 print(int(-7 / 2)) # -3 -7 / 2 это -3.5. От этого числа можно округлить к нулю (получится -3, это поведение int()) или вниз, к минус бесконечности (получится -4, это поведение // в Python). C-подобные языки используют первый вариант, Python – второй. Это называется floor division. Из этого следует, что % в Python тоже работает иначе чем в C – потому что должен сохраняться инвариант (a // b) * b + (a % b) == a: a, b = -7, 2 print(a // b) # -4 print(a % b) # 1 print((a // b) * b + (a % b)) # -7 Раз -7 // 2 == -4, остаток обязан быть 1, потому что -4 * 2 + 1 == -7. В C тот же инвариант выполняется при других значениях: -7 // 2 == -3 и -7 % 2 == -1, и -3 * 2 + (-1) == -7. Знак остатка в Python всегда совпадает со знаком делителя, в C – со знаком делимого. И отдельно – PEP 238 (Python 3) сделал / всегда float division, даже для целых: print(4 / 2) # 2.0 print(type(4 / 2)) # print(4 // 2) # 2 print(type(4 // 2)) # / в Python 3 всегда возвращает float, даже когда оба операнда целые и делятся нацело. Целочисленный результат – это //. В Python 2 поведение / зависело от типов: 4 / 2 давало 2, а 4.0 / 2 давало 2.0. PEP 238 убрал эту неоднозначность. // округляет к минус бесконечности, а не усекает к нулю. % следует за этим выбором – знак остатка совпадает со знаком делителя. / всегда возвращает float, начиная с Python 3. На этом небольшая серия про операторы по просьбе нашей читательницы Usla подходит к концу. Со времени начала этой рубрики читателей в канале стало существенно больше. Возможно, вам тоже будет интересно почитать про какие-то темы в формате "Кусочков кода" – дайте знать в комментариях! Код на салфетке x Кусочки кода
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!