20070
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
На чем ChatGPT исполняет код?
Внимательные пользователи этой LLM заметили, что некоторый код можно исполнять прямо в ходе диалога. Python-разработчик Джеймс Стенли копнул немного глубже и выяснил с помощью модуля os, на чем нейронка исполняет код.
#факты
@zen_of_python
Поздравляем победителей
Задачу об автобусе верно решили:
— @max_max89;
— Sergey;
— @patriarch_chesslovo;
Кратчайшее верно решение предложил Sergey:def find_min_distance(distances, start, destination): full=sum(distances) if start>destination: start, destination = destination, start part=sum(distances[start:destination]) return min(part, full-part)
@zen_of_python
Как эффективнее объединять строки?
Норвежская разработчица разбирается (на английском), какие существуют методы слияния строк, и в какой реализации языка (CPython и проч.) процесс проходит быстрее. Хороший способ для новичков познакомиться с темой конкатенации и List Comprehension.
#факты
@zen_of_python
Задача о частом числе
На входе — массив целых чисел, отсортированный в порядке возрастания, и в нем есть ровно одно целое число, которое встречается чаще в 25% случаев. Напишите функцию find_frequent_num(), которая найдёт это число.
>>> arr = [1,2,2,6,6,6,6,7,10]
>>> find_frequent_num(arr)
... 6
Как опубликовать библиотеку на PyPi
Исчерпывающий гайд для тех, кто наконец создал что-то опенсорсное для Py-комьюнити и теперь хочет опубликовать свой пакет на pypi.org.
#факты #библиотека
@zen_of_python
Вопросы новичков
Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросыновичков
@zen_of_python
Мэппинги в Python: викторина
Если вы хотите проверить свои познания в мэппинге (коллекцией с ключами и их значениями), с этим поможет квиз с небезызвестного realpython.com. Он состоит из 6 вопросов и рассчитан на 10 минут. Перед прохождением можно освежить материал с помощью статьи.
@zen_of_python
Смысловой поиск в проекте на Django + PostgreSQL + pgvector
Доскональный англоязычный туториал на 25 минут про векторное расширение PSQL. Автор создаст соответствующие модели в проекте и прикрутит векторное хранилище, чтобы поисковая строка на сайте понимала также и синонимы слов.
#фреймворк #django #postgresql
@zen_of_python
Поздравляем победителей
Задачу про email верно решили:
—@Indiv06;
— @nxiqns;
— @vsugoyak;
— @flydzen;
— @sidor0912.
Кратчайшее верное решение предложил @@flydzen:def count_emails(emails: list[str]) -> int: return len({(sp[0].replace('.', '').split('+')[0], sp[1]) for m in emails if (sp := m.split('@'))})
#задача
@zen_of_python
Что-то много на код отведено, не больше 4-х часов в день в среднем же!
#кек
@zen_of_python
Прокачайте навыки архитектора — изучите современные системы очередей!
Асинхронное взаимодействие и очереди — тема, обязательная к изучению абсолютно всем, кто интересуется архитектурой. Разработчику важно понимать архитектурные особенности, сильные и слабые стороны компонент, на базе которых строится архитектура.
В начале июля у DevHands (образовательный проект Алексея Рыбака) стартует курс «Введение в очереди».
Автор курса — Владимир Перепелица, эксперт по большим проектам, очередям и Tarantool, регулярный спикер и член ПК конференций Highload, создатель S3 в VK Cloud.
В программе:
— асинхронное взаимодействие с помощью очередей: подходы, свойства и гарантии;
— знакомство с основными системами очередей (Kafka/Rabbit/NATS/Redis и другие);
— основные аспекты, на которые нужно смотреть при использовании очереди;
— правильная конфигурация систем очередей;
— много практики на Python/Go.
Интервью с автором и запись на курс по ссылке.
А ещё держите промокод ARE_YOU_NATS — по нему скидка 20% до 28 июня.
Присоединяйтесь и прокачивайте навыки!
Реклама. Рекламодатель: ИП Рыбак Алексей Алексеевич ИНН 771407709607, erid: LjN8KPTLi
«Восьмилетка учит Python и, столкнувшись с синтаксической ошибкой, спрашивает: Если компьютер знает, что здесь пропущена точка с запятой, почему сам ее не добавит?
Я не знаю, реально не знаю«.
#кек
@zen_of_python
Даже не знаю, каких девушек эта футболка отфильтрует.O(n^8) указывает, что время выполнения алгоритма резко увеличивается с увеличением размера входных данных (n).
#кек
@zen_of_python
Carfinger | управление авто ладонью
Забавный репозиторий на базе OpenCV, позволяющий использовать различные кастомизируемые жесты вместо WASD. Если показать машине средний палец, поедет назад.
Репозиторий проекта
#библиотека #кек
@zen_of_python
Понимание индексации базы данных и как ее реализовать в Django
В контексте баз данных скорость и эффективность имеют важное значение. Индексирование — одна из основных стратегий, используемых для повышения производительности запросов к базе данных. В этом сообщении блога мы рассмотрим индексирование баз данных, в том числе, что это такое, почему это важно.
Читать: https://prakash0091.hashnode.dev/understanding-database-indexing-and-how-to-implement-it-in-django
@django_prog
Если бы Гарри Поттер был питонистом
Что ещё могло бы стать центральной темой книги серии? Поделитесь в комментариях.
#кек
@zen_of_python
Коллекция шпаргалок
Здесь и про типы данных, операторы, Numpy, Pandasm Matplotlib, scikit-learn, а также Jupyter Notebook. Микрогайд от DataQuest вообще достоен похвалы за стиль и удобочитаемость.
@zen_of_python
Что такое Tabula rasa и зачем это Python-разработчикам?
Узнайте на практическом уроке от OTUS, где вы узнаете:
— best practices по настройке окружения для разработки свежего питонского проекта;
— всевозможные инструменты и автоматизации, которые могут применяться в таком случае;
— ответы на все возникающие вопросы.
Спикер Станислав Ступников — руководитель отдела разработки одной из крупнейших социальной сети России и опытный преподаватель.
Встречаемся 3 июля в 20:00 мск в преддверии старта курса «Python Developer. Professional». Все участники вебинара получат специальную цену на обучение!
Зарегистрироваться
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, erid: LjN8KWHu1
5 книг для новичков в Python
Подборка классических и не очень книг для новичков от разрабов МТС. Здесь и про гроккинг алгоритмов, и про создание сайтов, и про подкапотную ЯП.
⚡ — полезно
🌭 — уже надоело такое
#книги
@zen_of_python
django-mfa2 | Двухфакторная авторизация для Django-сайта
Мастхэв для современного веб-портала с поддержкой TOTP (одноразовых СМС-паролей), U2F, FIDO2 U2F (Web Authn), почтовых Email-кодов, доверенных устройств и резервных кодов восстановления.
Репозиторий проекта
#библиотека
@zen_of_python
pdf-to-podcast | Превращаем .pdf в подкаст
Ну наконец-то книги можно сделать аудиокнигами без пап, мам и кредитов. Эта прекрасная либа использует Google Gemini и ChatGPT для зачитывания текста.
NB! Для оплаты токенов вам потребуется Google-аккаунт без привязки к РФ и зарубежная карта.
Репозиторий проекта
@zen_of_python
Senior Python разработчики, ваш выход
На новой вакансии вам предстоит:
В тесной коллаборации с Data Science командой заниматься продуктовой разработкой и писать нагруженные сервисы на Python. От вас требуется опыт промышленной разработки на Python, хорошие знания алгоритмов и умение в Docker и Postgres.
Будет плюсом:
— опыт создания CI/CD pipeline’ов.
— общее понимание основ Data Science.
— опыт работы с Kafka, Redis.
— опыт работы с Openshift, Minio, Ceph.
Нажимайте, чтобы быть на связи
#вакансии #работа
Состоялся крупнейший апдейт NumPy за последние 18 лет
Первый мажорный релиз 2.0.0 с 2006 года содержит много нового:
— StringDType (новый тип данных для строк переменной длины);
— новое пространство имён numpy.strings с высокопроизводительными функциями для обработки строк;
— ускорение sort, argsort, partition и argpartition;
— разделение публичного и приватного API и проч.
Подробнее
@zen_of_python
Задача об автобусе
Автобус идет по маршруту от 0-й до (n - 1) остановок по кругу, причем в обоих направлениях. Автобус едет в обоих направлениях, то есть по часовой стрелке и против часовой стрелки.
Мы знаем расстояние между всеми парами соседних остановок. distance[i] — это расстояние между остановками номер i и (i + 1) % n.
Создайте функцию find_min_distance(), возвращающую кратчайшее расстояние между заданными остановками начала и конца.
Для теста:
>>> distances = [1,2,3,4]
>>> start = 0
>>> destination = 3
>>> find_min_distance(distances, start, destination)
... 4
Что будет, если ИИ будет писать новости?
Мы решили проверить это и позволили нейросети писать новости из мира технологий на основе ярких событий в канале NewsGPT.
Она уже рассказала нам, что NVIDIA покупает Марс, Apple делает холодильники, а ИИ становится мэром.
Подписывайтесь, чтобы узнать, как видит мир нейросеть: @notnewsgpt
Вопросы новичков
Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросыновичков
@zen_of_python
bytes | что это за тип данных и чем отличается от строки
Очень понятная англоязычная статья про неизменяемую последовательность байтов в числах от 0 до 255. Сегодня ее используют для хранения изображений, обмен данными по сети и сжатия.
#факты
@zen_of_python