В статье подробно рассматривается устройство кортежей в Python на уровне реализации в C.
Автор объясняет их мутабельность, особенности работы с памятью и другие скрытые детали, приводя примеры и ссылки на исходный код.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤2
🤯28🔥10❤3👍2😁1
В видео разбирается, как использовать функции Pygame для рисования графических примитивов. Прямоугольники, линии, полигоны, круги, эллипсы и дуги — всё это можно создавать с помощью простых команд.
Показано, как работать с буферизацией, использовать функцию flip для обновления экрана, задавать цвета через RGB и управлять толщиной линий. Чёткий разбор базовых инструментов для создания графики.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥5🤔2
Даны два неотрицательных целых числа
num1 и num2, представленные в виде строк. Необходимо вернуть произведение
num1 и num2, также представленное в виде строки.Пример 1:
Входные данные:
num1 = "2", num2 = "3"Вывод:
"6"Пример 2:
Входные данные:
num1 = "123", num2 = "456"Вывод:
"56088"Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥4⚡3❤1🤯1
В Python оператор
+= для списков и выражение list = list + list дают одинаковый результат, но работают по-разному. Разница в том, что += изменяет список на месте, а + создаёт новый объект.Рассмотрим пример:
lst = [1, 2, 3]
lst += [4, 5, 6] # список изменяется на месте
Этот вариант использует list.__iadd__(), который модифицирует текущий объект, не создавая новый список.
Теперь посмотрим на этот пример:
lst = [1, 2, 3]
lst = lst + [4, 5, 6] # создаётся новый список
Здесь вызывается list.__add__(), который создаёт новый список, копируя оба исходных, что занимает больше времени и памяти.
Ключевая разница:
+= работает быстрее, что особенно заметно на больших структурах, так как он не копирует данные, а напрямую изменяет список.
Используйте
+=, если оригинальный объект можно модифицировать, и +, если важна его неизменяемость.Please open Telegram to view this post
VIEW IN TELEGRAM
❤60👨💻7👍6🔥1
👍9❤2
В статье сравниваются фреймворки FastAPI и Litestar для разработки микросервисов на Python.
Автор анализирует их особенности, тестирует производительность и показывает, в каких случаях каждый из них подходит лучше.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥3
Чем отличается rebase от merge?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤5🔥3
В видео показано, как отслеживать нажатия и отпускания клавиш с помощью
pygame.event. Разбирается работа с KEYDOWN, KEYUP и pygame.key.get_pressed, а также управление объектами на экране. Показано, как реализовать плавное перемещение с учётом удержания клавиш, добавить флаги для контроля движения и обработать клавиши-модификаторы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4❤3
В отличие от большинства языков, где
int — это фиксированный набор бит (например, int32 или int64), в Python целые числа (int) динамически расширяются при необходимости. В C, Java и других языках размер
int ограничен количеством бит: int32 → от -2^31 до 2^31 - 1 int64 → от -2^63 до 2^63 - 1 В Python же
int масштабируется автоматически, потому что он реализован как BigInteger и использует список 32- или 64-битных блоков для хранения числа. x = 2**1000
print(x)
Число 2**1000 выходит далеко за пределы 64-битных значений, но Python спокойно его обрабатывает.
Как это устроено внутри?
📌 int в Python не ограничен фиксированным размером, так как хранится в виде динамической структуры, позволяя работать с произвольно большими числами без переполнения.
⚡️ — если было полезно
❤️ — если уже знал
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡154❤34
В статье рассматриваются dunder-методы Python — специальные функции с двойным подчеркиванием в начале и конце имени, которые позволяют управлять поведением объектов.
Автор подробно объясняет назначение этих методов и демонстрирует их применение на практических примерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥5❤3
Даны две строки,
word1 и word2. Необходимо определить минимальное количество операций, требуемых для преобразования word1 в word2.Разрешены следующие три операции: вставка, удаление и замена символа.
Пример 1:
Входные данные:
word1 = "horse", word2 = "ros"Вывод:
3Пояснение:
1.
horse —> rorse (заменяем 'h' на 'r')2.
rorse —> rose (удаляем 'r')3.
rose —> ros (удаляем 'e')Пример 2:
Входные данные:
word1 = "intention", word2 = "execution"Вывод:
5Пояснение:
1.
intention —> inention (удаляем 't')2.
inention —> enention (заменяем 'i' на 'e')3.
enention —> exention (заменяем 'n' на 'x')4.
exention —> exection (заменяем 'n' на 'c')5.
exection —> execution (вставляем 'u')Please open Telegram to view this post
VIEW IN TELEGRAM
👍8💯3