Python Developer
21.4K subscribers
1.82K photos
137 videos
13 files
1.97K links
Авторский канал действующего Python-разработчика

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GA6KW

Реклама на бирже:
https://telega.in/c/python_tg
Download Telegram
Задача с LeetCode «Multiply Strings №43»

Даны два неотрицательных целых числа num1 и num2, представленные в виде строк.

Необходимо вернуть произведение num1 и num2, также представленное в виде строки.

Пример 1:
Входные данные: num1 = "2", num2 = "3"
Вывод: "6"

Пример 2:
Входные данные: num1 = "123", num2 = "456"
Вывод: "56088"

➡️ Python Developer | #задача #medium
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥431🤯1
🐍 Почему list += list быстрее, чем list = list + list?

В 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__(), который создаёт новый список, копируя оба исходных, что занимает больше времени и памяти.


Ключевая разница:

▶️ += (инплейсная операция) → изменяет исходный список, без копирования

▶️ + → создаёт новый список, копируя данные из обоих

+= работает быстрее, что особенно заметно на больших структурах, так как он не копирует данные, а напрямую изменяет список.


Используйте +=, если оригинальный объект можно модифицировать, и +, если важна его неизменяемость.

❤️ — если было полезно

➡️ Python Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
60👨‍💻7👍6🔥1
У тимлидов свои причуды

➡️ Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁48👍8💯32
👍6
Под какой буквой правильный ответ?
Anonymous Quiz
21%
A
48%
B
6%
C
24%
D
👍92
🐍 FastAPI vs Litestar: выбираем лучший фреймворк для микросервисов

В статье сравниваются фреймворки FastAPI и Litestar для разработки микросервисов на Python.

Автор анализирует их особенности, тестирует производительность и показывает, в каких случаях каждый из них подходит лучше.

Читать статью

➡️ Python Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣82😁7👍32
Вопрос с собеседования

Чем отличается rebase от merge?

Ответ:


⚪️ merge объединяет две ветки, сохраняя их историю, и создает дополнительный коммит слияния. В результате получается разветвленная история с видимыми точками объединения.

⚪️ rebase переносит коммиты одной ветки на другую, переписывая историю так, будто все изменения происходили последовательно. Это делает историю линейной и чище, но может привести к конфликтам и потере информации, если использовать его на общих ветках.

➡️ Python Developer | #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍215🔥3
🐍 Pygame: обработка событий клавиатуры

В видео показано, как отслеживать нажатия и отпускания клавиш с помощью pygame.event. Разбирается работа с KEYDOWN, KEYUP и pygame.key.get_pressed, а также управление объектами на экране.

Показано, как реализовать плавное перемещение с учётом удержания клавиш, добавить флаги для контроля движения и обработать клавиши-модификаторы.

📱 Смотреть на YouTube

➡️ Python Developer | #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍43
Please open Telegram to view this post
VIEW IN TELEGRAM
55🤣40🔥8😁5👍4
🐍 Имеет ли int в Python ограничения на размер?

В отличие от большинства языков, где 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 спокойно его обрабатывает.


Как это устроено внутри?

▶️ Если число маленькое, Python хранит его как обычное 32- или 64-битное значение

▶️ Если число большое, Python автоматически переключается на массив байтов, динамически увеличивая его размер

📌 int в Python не ограничен фиксированным размером, так как хранится в виде динамической структуры, позволяя работать с произвольно большими числами без переполнения.


⚡️ — если было полезно
❤️ — если уже знал


➡️ Python Developer | #обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
15434
Создали ИИ по своему образу и подобию 😆

➡️ Python Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣98😁1372👍2🔥1🤯1
🐍 Dunder-методы в Python: предназначение и применение

В статье рассматриваются dunder-методы Python — специальные функции с двойным подчеркиванием в начале и конце имени, которые позволяют управлять поведением объектов.

Автор подробно объясняет назначение этих методов и демонстрирует их применение на практических примерах.

Читать статью

➡️ Python Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥53
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣74👍126😁5🔥4
Задача с LeetCode «Edit Distance №72»

Даны две строки, 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')

➡️ Python Developer | #задача #medium
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8💯3
🐍 Pygame: обработка событий мыши

В видео показано, как отслеживать нажатия, перемещения и прокрутку колеса мыши с помощью pygame.event. Разбираются события MOUSEBUTTONDOWN, MOUSEBUTTONUP, MOUSEMOTION и MOUSEWHEEL, а также их свойства.

Вы научитесь реализовывать интерактивное рисование, работать с mouse.get_pressed и mouse.get_pos, скрывать курсор и создавать собственный указатель.

📱 Смотреть на YouTube

➡️ Python Developer | #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣55😁9👍4🤔4
Под какой буквой правильный ответ?
Anonymous Quiz
11%
A
17%
B
56%
C
16%
D
👨‍💻19👍85
🐍 SOLID на котиках

В этой статье принципы SOLID объясняются через простые и наглядные примеры с котами.

Автор показывает, как каждый из них работает на практике и объясняет почему важно их соблюдать.

Читать статью

➡️ Python Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥164👍3