58174
Всё самое интересное из мира Python Связь: @devmangx РКН: https://clck.ru/3GMMF6
Python-библиотека FindMy .py позволяет работать с сетью Apple Find My без Mac.
С её помощью можно получать и расшифровывать данные о местоположении AirTags и других аксессуаров, сканировать рядом находящиеся устройства и управлять ключами аксессуаров.
Установить просто через pip install findmy, а примеры использования есть в папке examples. Подробнее на GitHub
👉 @PythonPortal
Время полезных шпаргалок: нашел шпаргалку с топ-9 самых популярных HTTP-запросов
Забираем в сохранёнки
👉 @PythonPortal
🔍Тестовое собеседование на Middle Python в четверг с разработчиком из Авито
25 сентября(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Дане
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
В PyTorch выявлены два неудачных дефолтных параметра в DataLoader, которые серьёзно снижают производительность при обучении моделей. Исправление этих настроек позволяет добиться примерно пятикратного ускорения. 🦆
При обучении на GPU данные переносятся на устройство через .to(device), после чего все вычисления выполняются уже на видеокарте. В итоге процесс получается неэффективным: когда работает GPU, CPU простаивает, и наоборот.
Использование фиксации памяти решает эту проблему. Пока модель обучается на первом мини-батче, CPU успевает заранее перенести второй мини-батч на GPU. Таким образом, видеокарта не простаивает в ожидании новых данных и сразу начинает вычисления с готовым батчем.
Реализовать это просто:
- добавить pin_memory=True в DataLoader,
- при передаче данных использовать .to(device, non_blocking=True)
Кроме того, рекомендуется задать num_workers в DataLoader для параллельной загрузки данных.
Тесты показывают, что такие настройки дают заметное ускорение, что подтверждается результатами на графиках.
👉 @PythonPortal
Визуализация Python-объектов и ссылок
Многие начинающие Python-разработчики сталкиваются с путаницей при работе с изменяемостью и ссылками между переменными. Особенно тяжело разобраться при отладке сложных структур данных, когда непонятно, как именно они связаны. ⌨️
Поэтому держите memory_graph — опенсорс тул для визуализации Python-объектов и ссылок. Он показывает структуру данных, стек вызовов и связи между переменными.
А также поддерживает работу с рекурсией и такими структурами, как бинарные деревья или связанные списки.
Работает в VS Code, Jupyter, PyCharm и доступен онлайн без установки.
👉 @PythonPortal
⚡️ На Stepik вышел курс по Linux
Внутри 20+ модулей: от установки Linux и работы с файлами до сетей, прав, дисков, процессов, автоматизации на Bash и многого другого. Всё сразу закрепляется на практике (200+ заданий с автопроверкой).
Материал подаётся понятным языком, шаг за шагом, на реальных примерах и с наглядными схемами.
После прохождения вы получите сертификат, который можно добавить в резюме.
Есть бесплатные демо-уроки для ознакомления. В ближайшие 48 часов курс доступен со скидкой 20%: открыть курс на Stepik (скидка применяется по этой ссылке)
Полезная находка для Python-разработчиков: статья «20 лучших практик Python 2025» от Aglowid IT Solutions.
В ней собраны ключевые советы по эффективной разработке -> PEP-стандарты, структура проекта, чистый и идиоматичный код, тесты и работа с исключениями.
Честно, читаешь и сразу хочется переписать весь свой проект 🤪
👉 @PythonPortal
Как проходит первый тест новой фичи
👉 @PythonPortal
Нашлась утилита Real-Time Voice Cloning
Которая клонирует речь и воспроизводит любые фразы с вашей интонацией всего за пару секунд записи.
Она работает на Python, генерирует речь в реальном времени и полностью локальна, никаких облаков и ограничений. 🫠
👉 @PythonPortal
Хотите создавать SQL-базы данных визуально? 🔥
Попробуйте этот онлайн-инструмент, который позволяет проектировать и моделировать базы данных с помощью удобного drag-and-drop интерфейса.
Он помогает закреплять знания SQL, лучше понимать связи между таблицами и работать без установки программ или регистрации.
Инструмент полностью бесплатен и с открытым исходным кодом, а также поддерживает импорт и экспорт SQL-кода.
👉 @PythonPortal
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
5 самых полезных форматтеров для f-строк в Python:
I. Целые числа с ведущими нулями
variable = 56
print(f"{variable:05d}") # 00056
variable = 123.456
print(f"{variable:.2f}") # 123.46
variable = 12345
print(f"{variable:,.0f}") # 12,345
variable = 0.425
print(f"{variable:.0%}") # 42%
import datetime
variable = datetime.datetime.now()
print(f"{variable:%d.%m.%Y}") # 15.09.2025
Data-вызов от Яндекса: обновленные тестовые задания на стажировку для будущих аналитиков
Яндекс приглашает на стажировку для начинающих аналитиков в Москве и Санкт-Петербурге! Компания только обновила тестовые задания, чтобы у всех, кто пробовал силы ранее, был шанс попробовать снова.
Вы сможете работать над продуктами и решать важные бизнес-задачи: запускать А/В-тесты, собирать датасеты, строить дашборды и анализировать метрики.
Стажеров ждёт:
✅ Решение реальных задач для сервисов с миллионной аудиторией
✅ Гибкий график, который удобно совмещать с учёбой
✅ Поддержка ментора
✅ Зарплата на весь срок стажировки
✅ Айтиобщага для участников из других городов
✅ Отложенный офер, если вы ещё учитесь
Используйте возможность влиять на ключевые решения и видеть, как ваша работа меняет продукты для миллионов пользователей. Подать заявку, получить советы по подготовке и найти полезные материалы можно на сайте.
Практикуемся в алгоритмах на любом языке
На платформе CSES Problem Set доступно более 400 задач, охватывающих широкий спектр тем, включая динамическое программирование, графы, строки, математические задачи и многое другое, что можно решать на самых популярных языках: C/C++, Java, Python, C#.
👉 @PythonPortal
Вышел Typer 0.19.0
Теперь можно использовать Literal из typing для CLI-параметров, которые принимают только одно из нескольких значений. Самая долгожданная фича наконец доступна. 🎰
https://github.com/fastapi/typer
👉 @PythonPortal
На такую серьезную работу и половину спринта можно списать
👉 @PythonPortal
Генерация UUID в Python ускорилась в 30 раз и теперь почти на уровне Bun и NodeJS. Но стоит честно упомянуть, что дальше ускорять почти невозможно из-за ограничений генерации случайных чисел.
Ссылка на PR —> https://github.com/python/cpython/pull/139123
👉 @PythonPortal
Visual Studio Code теперь умеет автоматически обрабатывать TODO-комментарии в коде. С новой функцией и помощью GitHub Copilot можно за два клика решать задачи и сразу создавать PR.
👉 @PythonPortal
Лайфхак для GitHub: теперь можно превращать любой репозиторий в один текстовый файл, удобный для LLM
Просто замените «hub» на «1file» в URL репозитория, и все файлы объединятся в один чистый текст. Файл можно скачать в обычном или сжатом формате.
Это позволяет дать полную контекстную информацию любому ИИ, например ChatGPT или Claude, чтобы разбирать код, отвечать на вопросы или помогать исправлять ошибки.
Идеальный способ быстрее изучать и анализировать репозитории. ✏️
👉 @PythonPortal
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
Начни работу с 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
Памятка по f-строкам в Python
f-строки это один из самых простых и быстрых приёмов для оформления текстов в Python.
Сохраняем памятку, чтобы всегда была рядом ⌨️
Расширенный вариант здесь
👉 @PythonPortal
Пакет GeoAI для Python становится ещё умнее, скоро он будет поддерживать AI-агентов
Это значит, что вы сможете с помощью естественного языка легко загружать, анализировать и визуализировать геопространственные данные без единой строки кода 🤖
Следите за обновлениями, релиз уже скоро
GitHub: https://github.com/opengeos/geoai
👉 @PythonPortal
Python-лайфхак:
Используйте itertools.accumulate, чтобы получить итератор с накопленными суммами.
Можно передать другую бинарную функцию в качестве аргумента, тогда будут возвращаться накопленные результаты этой функции.
Пример:
import itertools
daily_revenues = [100, 120, 90, 110, 80]
# Получаем накопленную выручку
total_revenue_to_date = list(itertools.accumulate(daily_revenues))
print(total_revenue_to_date)
# Вывод: [100, 220, 310, 420, 500]