Python Portal
57K subscribers
2.13K photos
214 videos
51 files
638 links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
👀👀👀

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1205
Начни работу с Docker на практике

Вот подборка годных практических заданий:

Установи Docker Engine на Linux: https://labs.iximiuz.com/challenges/docker-install-on-ubuntu

Запусти свои первые контейнеры: https://labs.iximiuz.com/challenges/docker-101-container-run

Собери и опубликуй свои первые образы: https://labs.iximiuz.com/challenges/build-and-publish-container-image-with-docker

Перемещай образы между репозиториями: https://labs.iximiuz.com/challenges/copy-container-image-from-one-repository-to-another-with-docker


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍10🤯1
Python-библиотека для визуализации архитектуры

Есть удобная Python-библиотека Diagrams, которая позволяет быстро строить архитектурные схемы и диаграммы прямо из кода.

Инструмент отлично подходит для демонстрации идей продукта заказчикам и партнёрам, можно визуализировать облачные сервисы, инфраструктуру или внутренние компоненты системы.

Пример использования:

pip install diagrams


from diagrams import Cluster, Diagram
from diagrams.aws.compute import ECS
from diagrams.aws.database import ElastiCache, RDS
from diagrams.aws.network import ELB, Route53

with Diagram("Clustered Web Services", show=False):
dns = Route53("dns")
lb = ELB("lb")

with Cluster("Services"):
svc_group = [ECS("web1"),
ECS("web2"),
ECS("web3")]

with Cluster("DB Cluster"):
db_primary = RDS("userdb")
db_primary - [RDS("userdb ro")]

memcached = ElastiCache("memcached")

dns >> lb >> svc_group
svc_group >> db_primary
svc_group >> memcached


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

> Документация и примеры
> GitHub

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
27👍9🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Когда попросил гпт помочь в проблеме, но он добавил ещё одну проблему:

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁115👍153💊2
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите создавать SQL-базы данных визуально? 🔥

Попробуйте этот онлайн-инструмент, который позволяет проектировать и моделировать базы данных с помощью удобного drag-and-drop интерфейса.

Он помогает закреплять знания SQL, лучше понимать связи между таблицами и работать без установки программ или регистрации.

Инструмент полностью бесплатен и с открытым исходным кодом, а также поддерживает импорт и экспорт SQL-кода.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍299
4 способа скопировать список в Python

В Python есть несколько способов сделать копию списка. Но важно понимать разницу между shallow copy (поверхностная копия) и deep copy (полная копия).

original = [1, 2, [3, 4]]

# 1. Срез (shallow copy)
copy1 = original[:]

# 2. Метод .copy() (shallow copy)
copy2 = original.copy()

# 3. Через list() (shallow copy)
copy3 = list(original)

# 4. deepcopy (deep copy)
import copy
copy4 = copy.deepcopy(original)


Теперь проверим разницу между поверхностной и полной копией:

original[2].append(5)
print(copy1)
# [1, 2, [3, 4, 5]] — вложенный список изменился!
print(copy4)
# [1, 2, [3, 4]] — без изменений


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
28👍15🔥7
Только этого еще не хватало

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁124🌚65👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Лайфхак для GitHub: теперь можно превращать любой репозиторий в один текстовый файл, удобный для LLM

Просто замените «hub» на «1file» в URL репозитория, и все файлы объединятся в один чистый текст. Файл можно скачать в обычном или сжатом формате.

Это позволяет дать полную контекстную информацию любому ИИ, например ChatGPT или Claude, чтобы разбирать код, отвечать на вопросы или помогать исправлять ошибки.

Идеальный способ быстрее изучать и анализировать репозитории. ✏️

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3510🔥2
Media is too big
VIEW IN TELEGRAM
Нашлась утилита Real-Time Voice Cloning

Которая клонирует речь и воспроизводит любые фразы с вашей интонацией всего за пару секунд записи.

Она работает на Python, генерирует речь в реальном времени и полностью локальна, никаких облаков и ограничений. 🫠

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍317🔥3🤣1🏆1💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Visual Studio Code теперь умеет автоматически обрабатывать TODO-комментарии в коде. С новой функцией и помощью GitHub Copilot можно за два клика решать задачи и сразу создавать PR.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍236🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Как проходит первый тест новой фичи

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁77🤣324🔥4😢3
Генерация UUID в Python ускорилась в 30 раз и теперь почти на уровне Bun и NodeJS. Но стоит честно упомянуть, что дальше ускорять почти невозможно из-за ограничений генерации случайных чисел.

Ссылка на PR —> https://github.com/python/cpython/pull/139123

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍274
Полезная находка для Python-разработчиков: статья «20 лучших практик Python 2025» от Aglowid IT Solutions.

В ней собраны ключевые советы по эффективной разработке -> PEP-стандарты, структура проекта, чистый и идиоматичный код, тесты и работа с исключениями.

Честно, читаешь и сразу хочется переписать весь свой проект 🤪

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍193
На такую серьезную работу и половину спринта можно списать

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁91👍17🔥94🤝1
Вышел Typer 0.19.0

Теперь можно использовать Literal из typing для CLI-параметров, которые принимают только одно из нескольких значений. Самая долгожданная фича наконец доступна. 🎰

https://github.com/fastapi/typer

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍157
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация Python-объектов и ссылок

Многие начинающие Python-разработчики сталкиваются с путаницей при работе с изменяемостью и ссылками между переменными. Особенно тяжело разобраться при отладке сложных структур данных, когда непонятно, как именно они связаны. ⌨️

Поэтому держите memory_graph — опенсорс тул для визуализации Python-объектов и ссылок. Он показывает структуру данных, стек вызовов и связи между переменными.

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

Работает в VS Code, Jupyter, PyCharm и доступен онлайн без установки.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥95
😃😃😃

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁77🤣39👍15😢1
В PyTorch выявлены два неудачных дефолтных параметра в DataLoader, которые серьёзно снижают производительность при обучении моделей. Исправление этих настроек позволяет добиться примерно пятикратного ускорения. 🦆

При обучении на GPU данные переносятся на устройство через .to(device), после чего все вычисления выполняются уже на видеокарте. В итоге процесс получается неэффективным: когда работает GPU, CPU простаивает, и наоборот.

Использование фиксации памяти решает эту проблему. Пока модель обучается на первом мини-батче, CPU успевает заранее перенести второй мини-батч на GPU. Таким образом, видеокарта не простаивает в ожидании новых данных и сразу начинает вычисления с готовым батчем.

Реализовать это просто:

- добавить pin_memory=True в DataLoader,
- при передаче данных использовать .to(device, non_blocking=True)

Кроме того, рекомендуется задать num_workers в DataLoader для параллельной загрузки данных.

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

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
44👍10🔥3
Практикуемся в алгоритмах на любом языке

На платформе CSES Problem Set доступно более 400 задач, охватывающих широкий спектр тем, включая динамическое программирование, графы, строки, математические задачи и многое другое, что можно решать на самых популярных языках: C/C++, Java, Python, C#.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍6