20070
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
Вышел psycopg 3.2
Обновился популярнейший PostgreSQL-клиент для Python:
— прокачано хранение скаляров Numpy (простых чисел как элементов более сложных структур);
— для интерполяции теперь можно использовать не только %s, но и $1 (родной для PSQL формат);
— поддержка новых фичей libpq (библиотека, на которой сидит psycopg) — асинхронная отмена запросов и проч.
Подробнее
@zen_of_python
Поздравляем победителей
Задачу о счастливом числе верно решили:
— @Metimol;
— @longcompetition;
— Sergey;
— @xpos587;
— @vsugoyak;
Кратчайшее верное решение предложил @vsugoyak:def find_luckiest_number(matrix): return ls[0] if len(ls:=[mn for arr in matrix if (mn:=min(arr)) == max(matrix[el][arr.index(mn)] for el in range(len(matrix)))])>0 else None
Отдельный респект @longcompetition за решения с учётом временной сложности алгоритма. Самое то для новичков в этой теме.
#задача
@zen_of_python
JOY OF PROGRAMMING | Полноценная игра на Steam для изучающих Python
В ней нужно писать настоящий код, чтобы автоматизировать машины, роботов, дронов и другую технику. Внутри годное обучение, которое дословно объясняет, что нужно делать. Отзывы очень положительные: геймеры пишут, что игра реально затягивает, но порой бывает сложно.
Профиль игры на Steam
#факты
🌭 — не люблю игры про программирование
⚡— обожаю такое (напишите в комментариях, какая игра зацепила)
@zen_of_python
Прокрутка страницы в Selenium
Если вы хотите получить доступ к контенту ниже видимой части веб-страницы или захватить то, что подгружается после скролла, в популярной скрейпинг-библиотеке Selenium используются возможности JavaScript:driver.execute_script("window.scrollBy(0,500)","")
Подробнее
#парсинг
@zen_of_python
Сдружили Vue и Django
20-минутный туториал от Python-разработчика (на английском), в котором Vue отвечает на фронтенд, Django — за бэкенд. Также реализована авторизация без токенов / DRF / JWT.
#фреймворк
@zen_of_python
PyPiScout.com | Ищем либу по текстовому запросу
Видимо, недовольные поисковиком на pypi.org питонисты создали сайт, где инструмент под любую задачу можно найти с помощью запроса на естественном человеческом. На картинке видно интересное представление результатов — scatterplot-диаграмма, причём самый близкий результат получает увеличенный размер точки.
#факты
@zen_of_python
30 самых полезных библиотек Python для веб-разработки в 2024 году
Проверенный и актуальный инструментарий для веб-разработки — большая часть того, что нужно для грамотного сайта.
Статья от владельца сайта на Django
Квиз про асинхронность
Небольшая бесплатная викторина на 8 вопросов, рассчитанных на ~10 минут от realpython.com. Чтобы освежить свои познания об async, воспользуйтесь статей.
NB! Чтобы сохранить прогресс, авторизуйтесь.
#квиз
@zen_of_python
Как насчёт ПропТеха, Тони?
Все хотят попасть в FoodTech и FinTech. Но как насчёт PropTech? Он сочетает в себе IT и строительство, расширяя возможности айтишников.
Пару ярких примеров PropTech:
— Искусственный интеллект, который может определить добросовестность намерений участников сделок.
— Гаджеты, которые ускоряют строительство и повышают безопасность, отслеживая состояние здоровья строителей в режиме реального времени.
Всем этим занимаются в Самолете. Подписывайтесь, чтобы узнавать про самые крутые проекты на стыке строительства и технологий.
Это #партнёрский пост
Задача о счастливом числе
На входе матрица m x n различных чисел. Создайте функцию find_luckiest_number(), которая вернет счастливое число — такой элемент, который является минимальным в своей строке и максимальным в своём столбце.
>>> matrix = [[1,10,4,2],[9,3,8,7],[15,16,17,12]]
>>> find_luckiest_number(matrix)
... 12
gs-quant | Тулкит для инвестинга
Ультракрутая и хорошо документированная библиотека для всевозможных потребностей инвестора — матмоделей и количественных методов анализа финансовых рынков и управления финансами. Goldman Sachs плохо не делает.
Репозиторий проекта
#библиотека
@zen_of_python
Django 5.1: что нового
В августе выйдет новая версия фреймворка, в которой заявлены интересные фичи:
— тег {% query_string %}: упрощает создание ссылок, сохраняющих существующие параметры запроса;
— пулы соединений с PostgreSQL на prycopg (сокращает задержку);
— LoginRequiredMiddleware отправит всех незалогинившихся на страницу авторизации и проч.
Release Notes
#факты
@zen_of_python
reladiff | Эффективный трансфер из БД в БД
Полезнейшее решение для SQL-based хранилищ, с помощью которого производится перенос только несуществующих в конечной базе записей. table1 = connect_to_table("postgresql:///", "table_name", "id")table2 = connect_to_table("mysql:///", "table_name", "id")sign: Literal['+' | '-']row: tuple[str, ...]for sign, row in diff_tables(table1, table2): print(sign, row)
🌚 — знаю другой способ
⚡ — переношу по хардкору: клонирование
✍️ — не доводилось еще переносить
Репозиторий проекта
#библиотека
@zen_of_python
Чем заменить JetBrains: решение для российских разработчиков от СберТеха
СберТех представил среду разработки GIGA IDE со встроенным AI-ассистентом*, что особенно актуально для российских разработчиков в свете последних новостей. GIGA IDE может стать альтернативой IntelliJ IDEA от JetBrains, которая оказалась заблокирована для российских пользователей. Среда позволяет вести разработку на популярных языках программирования, обеспечивает совместимость с востребованными плагинами и привычный пользовательский опыт.
GIGA IDE Desktop пользователи уже могут скачать на платформе GitVerse. Это интегрированная среда разработки, которая включает 70 инструментов для облегчения задач разработки, автоматизации тестирования и администрирования приложений.
GIGA IDE Cloud позволит вести разработку в облаке, расширив возможности устройства дополнительными облачными ресурсами. Записаться на раннее тестирование GIGA IDE Cloud.
*AI (Artificial Intelligence) - искусственный интеллект
Это #партнёрский пост
Квиз по веб-скрейпингу
Проверьте свои познания по парсингу веб-сайта с помощью квиза про строковые методы и регулярные выражения для анализа HTML DOM. На все уйдет около 10 минут.
Перед прохождением рекомендуе освежить память с помощью этого гайда.
#квиз
@zen_of_python
julius.ai | Новая степень автоматизации EDA
Бомбическая условно бесплатная нейронка на видео съедает таблицу с кандидатами из HeadHunter на 6,5К (!) строк, фильтрует её от всех неразработчиков и затем строит группированную столбчатую диаграмму по грейдам (Junior, Middle, Senior) и языкам (Go, PHP, Python etc.).
#llm #gpt
@neuro_channel
Задача о повороте матрицы
На входе матрица grid размером m x n и целое число k. Вам нужно «сдвинуть» матрицу k раз.
За один поворот:
— Элемент grid[i][j] становится на место grid[i][j + 1];
— Элемент grid[i][n - 1] становится grid[i + 1][0];
— Элемент grid[m - 1][n - 1] становится на grid[0][0].
Создайте функцию turn_matrix(), которая сдвинет исходную матрицу k раз.
>>> grid = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> turn_matrix(grid, k)
... [[9, 1, 2], [3, 4, 5], [6, 7, 8]]
Вопрос подписчика
Задает @pries_offed:
«Какие есть способы оптимизации, чтобы приблизить производительность кода к C/C++?»
NB! Пожалуйста, будьте взаимовежливы. Всем нам порой нужно место, где можно попросить помощи.
#обсуждение
@zen_of_python
Вопрос подписчика
Задаёт @Shohjahonmurodov:
«У кого есть опыт работы с библиотекой simple-jwt для аутентификации? вот аутентификацию сделал, теперь нужно настроить login logout с помощью отдельного модуля. Можете помочь?»
От админа: полагаю, в документации вы уже были, что именно вызывает затруднения?
NB! Пожалуйста, будьте взаимовежливы. Всем нам порой нужно место, где можно попросить помощи.
#обсуждение
@zen_of_python
У AvitoTech грядёт новый НЕмитап про локальную разработку
Обещают рассказать про то, как, зачем и какие инструменты создают для своих инженеров.
Смотреть онлайн и общаться с автором доклада в live-чате: https://tprg.ru/5qWO
Почитать перед просмотром:
Lima: Linux Machines — запуск виртуальных машин Linux на Mac OS.
Colima — управление контейнерами Docker на MacOS и Linux.
K3s — дистрибутив Kubernetes для установки и запуска на ресурсоограниченных средах.
MacOS Virtualization Framework — документация по виртуализации от Apple.
Это #партнёрский пост
Поздравляем победителей
Задачу о частом числе верно решили:
— @StSav012;
— @MurodillaKarimov;
— @Name1995;
— @HackingSection.
Кратчайшее верное решение предложил @StSav012: def find_frequent_num(a): from collections import Counter return Counter(a).most_common(1)[0][0]
@zen_of_python
Болевые точки Django в современной разработке
Старший разработчик Python из НЛМК рассуждает про нюансы, о которых важно знать, приступая к разработке. Здесь и про админку, и про ORM, и про Debug Toolbar.
#фреймворк #факты
@zen_of_python
Калькулятор с GUI на PyQt
Отличный обучающий проект на английском для новичков с полным разбором происходящего с RealPython. Там и про верстку интерфейса, и про пользовательские события, и про Tkinter.
NB! Чтобы сохранять прогресс (курс интерактивный), авторизуйтесь.
#лучшие_практики
@zen_of_python
Вопросы новичков
Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросыновичков
@zen_of_python
Как перепрошить смарт-часы под Python
Забавный пет-проект, где разработчик взламывает фитнес-браслет с AliExpress за 300 рублей и заливает на него MicroPython — питонический аналог Arduino. Посмотрите, как показатели часов изменились в сравнении со стандартной прошивкой.
#пет_проект
@zen_of_python
Как новый NumPy 2.0 подспудно влияет на Pandas
Небольшое 12-минутное видео, в котором ютьюбер раскрывает, как изменилась логика математических операций в np и как это влияет на обсчёт столбца датафрейма.
#факты
@zen_of_python