This media is not supported in your browser
VIEW IN TELEGRAM
Хотите создавать SQL-базы данных визуально? 🔥
Попробуйте этот онлайн-инструмент, который позволяет проектировать и моделировать базы данных с помощью удобного drag-and-drop интерфейса.
Он помогает закреплять знания SQL, лучше понимать связи между таблицами и работать без установки программ или регистрации.
Инструмент полностью бесплатен и с открытым исходным кодом, а также поддерживает импорт и экспорт SQL-кода.
👉 @PythonPortal
Попробуйте этот онлайн-инструмент, который позволяет проектировать и моделировать базы данных с помощью удобного drag-and-drop интерфейса.
Он помогает закреплять знания SQL, лучше понимать связи между таблицами и работать без установки программ или регистрации.
Инструмент полностью бесплатен и с открытым исходным кодом, а также поддерживает импорт и экспорт SQL-кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤9
4 способа скопировать список в Python
В Python есть несколько способов сделать копию списка. Но важно понимать разницу между shallow copy (поверхностная копия) и deep copy (полная копия).
Теперь проверим разницу между поверхностной и полной копией:
👉 @PythonPortal
В 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]] — без изменений
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29👍16🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
Лайфхак для GitHub: теперь можно превращать любой репозиторий в один текстовый файл, удобный для LLM
Просто замените «
Это позволяет дать полную контекстную информацию любому ИИ, например ChatGPT или Claude, чтобы разбирать код, отвечать на вопросы или помогать исправлять ошибки.
Идеальный способ быстрее изучать и анализировать репозитории.✏️
👉 @PythonPortal
Просто замените «
hub» на «1file» в URL репозитория, и все файлы объединятся в один чистый текст. Файл можно скачать в обычном или сжатом формате.Это позволяет дать полную контекстную информацию любому ИИ, например ChatGPT или Claude, чтобы разбирать код, отвечать на вопросы или помогать исправлять ошибки.
Идеальный способ быстрее изучать и анализировать репозитории.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39❤11🔥3
Media is too big
VIEW IN TELEGRAM
Нашлась утилита Real-Time Voice Cloning
Которая клонирует речь и воспроизводит любые фразы с вашей интонацией всего за пару секунд записи.
Она работает на Python, генерирует речь в реальном времени и полностью локальна, никаких облаков и ограничений.🫠
👉 @PythonPortal
Которая клонирует речь и воспроизводит любые фразы с вашей интонацией всего за пару секунд записи.
Она работает на Python, генерирует речь в реальном времени и полностью локальна, никаких облаков и ограничений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35❤8🔥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
👍27❤7🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁84🤣34❤4🔥4👍3😢3
Генерация UUID в Python ускорилась в 30 раз и теперь почти на уровне Bun и NodeJS. Но стоит честно упомянуть, что дальше ускорять почти невозможно из-за ограничений генерации случайных чисел.
Ссылка на PR —> https://github.com/python/cpython/pull/139123
👉 @PythonPortal
Ссылка на PR —> https://github.com/python/cpython/pull/139123
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28❤5
Полезная находка для Python-разработчиков: статья «20 лучших практик Python 2025» от Aglowid IT Solutions.
В ней собраны ключевые советы по эффективной разработке -> PEP-стандарты, структура проекта, чистый и идиоматичный код, тесты и работа с исключениями.
Честно, читаешь и сразу хочется переписать весь свой проект🤪
👉 @PythonPortal
В ней собраны ключевые советы по эффективной разработке -> PEP-стандарты, структура проекта, чистый и идиоматичный код, тесты и работа с исключениями.
Честно, читаешь и сразу хочется переписать весь свой проект
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤4
Вышел Typer 0.19.0
Теперь можно использовать🎰
https://github.com/fastapi/typer
👉 @PythonPortal
Теперь можно использовать
Literal из typing для CLI-параметров, которые принимают только одно из нескольких значений. Самая долгожданная фича наконец доступна. https://github.com/fastapi/typer
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤9
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация Python-объектов и ссылок
Многие начинающие Python-разработчики сталкиваются с путаницей при работе с изменяемостью и ссылками между переменными. Особенно тяжело разобраться при отладке сложных структур данных, когда непонятно, как именно они связаны.⌨️
Поэтому держите memory_graph — опенсорс тул для визуализации Python-объектов и ссылок. Он показывает структуру данных, стек вызовов и связи между переменными.
А также поддерживает работу с рекурсией и такими структурами, как бинарные деревья или связанные списки.
Работает в VS Code, Jupyter, PyCharm и доступен онлайн без установки.
👉 @PythonPortal
Многие начинающие Python-разработчики сталкиваются с путаницей при работе с изменяемостью и ссылками между переменными. Особенно тяжело разобраться при отладке сложных структур данных, когда непонятно, как именно они связаны.
Поэтому держите memory_graph — опенсорс тул для визуализации Python-объектов и ссылок. Он показывает структуру данных, стек вызовов и связи между переменными.
А также поддерживает работу с рекурсией и такими структурами, как бинарные деревья или связанные списки.
Работает в VS Code, Jupyter, PyCharm и доступен онлайн без установки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38🔥9❤6
В PyTorch выявлены два неудачных дефолтных параметра в DataLoader, которые серьёзно снижают производительность при обучении моделей. Исправление этих настроек позволяет добиться примерно пятикратного ускорения. 🦆
При обучении на GPU данные переносятся на устройство через
Использование фиксации памяти решает эту проблему. Пока модель обучается на первом мини-батче, CPU успевает заранее перенести второй мини-батч на GPU. Таким образом, видеокарта не простаивает в ожидании новых данных и сразу начинает вычисления с готовым батчем.
Реализовать это просто:
- добавить
- при передаче данных использовать
Кроме того, рекомендуется задать
Тесты показывают, что такие настройки дают заметное ускорение, что подтверждается результатами на графиках.
👉 @PythonPortal
При обучении на GPU данные переносятся на устройство через
.to(device), после чего все вычисления выполняются уже на видеокарте. В итоге процесс получается неэффективным: когда работает GPU, CPU простаивает, и наоборот.Использование фиксации памяти решает эту проблему. Пока модель обучается на первом мини-батче, CPU успевает заранее перенести второй мини-батч на GPU. Таким образом, видеокарта не простаивает в ожидании новых данных и сразу начинает вычисления с готовым батчем.
Реализовать это просто:
- добавить
pin_memory=True в DataLoader,- при передаче данных использовать
.to(device, non_blocking=True)Кроме того, рекомендуется задать
num_workers в DataLoader для параллельной загрузки данных.Тесты показывают, что такие настройки дают заметное ускорение, что подтверждается результатами на графиках.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤47👍10🔥4
Практикуемся в алгоритмах на любом языке
На платформе CSES Problem Set доступно более 400 задач, охватывающих широкий спектр тем, включая динамическое программирование, графы, строки, математические задачи и многое другое, что можно решать на самых популярных языках: C/C++, Java, Python, C#.
👉 @PythonPortal
На платформе CSES Problem Set доступно более 400 задач, охватывающих широкий спектр тем, включая динамическое программирование, графы, строки, математические задачи и многое другое, что можно решать на самых популярных языках: C/C++, Java, Python, C#.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍6
25 сентября(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10
Время полезных шпаргалок: нашел шпаргалку с топ-9 самых популярных HTTP-запросов
Забираем в сохранёнки
👉 @PythonPortal
Забираем в сохранёнки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤9
Python-библиотека FindMy .py позволяет работать с сетью Apple Find My без Mac.
С её помощью можно получать и расшифровывать данные о местоположении AirTags и других аксессуаров, сканировать рядом находящиеся устройства и управлять ключами аксессуаров.
Установить просто через
👉 @PythonPortal
С её помощью можно получать и расшифровывать данные о местоположении AirTags и других аксессуаров, сканировать рядом находящиеся устройства и управлять ключами аксессуаров.
Установить просто через
pip install findmy, а примеры использования есть в папке examples. Подробнее на GitHubPlease open Telegram to view this post
VIEW IN TELEGRAM
❤21👍7
Совет по PEP8:
Для лучшей читаемости переносите строки перед бинарными операторами (например, +, -, *, /), а не после них. Это позволяет выравнивать операторы с их операндами и избегать их разбрасывания по разным строкам.
Пример:
👉 @PythonPortal
Для лучшей читаемости переносите строки перед бинарными операторами (например, +, -, *, /), а не после них. Это позволяет выравнивать операторы с их операндами и избегать их разбрасывания по разным строкам.
Пример:
# good
income = (gross_wages
+ taxable_interest
+ (dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)
# bad
income = (gross_wages +
taxable_interest +
(dividends - qualified_dividends) -
ira_deduction -
student_loan_interest)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤44👍24🔥9