20070
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
Бенчмарк pandas vs. vaex vs. polars
Разработчик Дмитрий Руденко asimandia/benchmarking-performance-polars-vs-vaex-vs-pandas-f1c889dccc12">сравнил три решения для обработки данных в разрезах производительности и расходования памяти. Получилось очень доступно, даже новички поймут. NB! Для просмотра статьи на Medium вам потребуется VPN.
Спасибо подписчику @Pik_rat за рекомендацию.
@neuro_channel
Loki | Факт-чекинг
Это и подобные решения заиграли новым красками, когда GPT стали галлюцинировать. Библиотека «обернётся» вокруг вывода нейросети и укажет, где правда, а где ложь. Из топа самых актуальных решений 2024 года, несомненно.
#библиотека
@zen_of_python
Графики с аннотациями на канвасе
Помните, когда в последний раз накладывали текст поверх экспортированноо графика? В небольшой англоязычной статье разобрались, как навешивать сноски на диаграмму. gg.annotate( 'text', x=exceeds100 + 2, y=5000 - 600, label='Total coal production first\nexceeds 100 million tonnes\nper year.', color=text_col, family=body_font, ha='left', size=9, va='top')
#факты
@zen_of_python
Вопрос подписчика
Задаёт @swell_d:
«есть здоровое приложение на flask. хочу собрать контейнер docker так, чтобы не было доступа к исходному коду приложения. попробовал скомпилировать pyc и удалить py - ничего не вышло. куда копать?»
NB! Пожалуйста, будьте взаимовежливы. Всем нам нужна возможность выговориться и попросить помощи без угрозы быть затроленным.
#обсуждение
@zen_of_python
Задача о расстоянии между массивами
На входе два массива arr1 и arr2 и целое число d. Напишите функцию find_arr_distance(), которая вернёт расстояние между двумя массивами.
Расстояния определяется как количество элементов arr1[i] таких, что не существует элемента arr2[j], где arr1[i] - arr2[j]| <= d.
Для проверки:
>>> arr1 = [4,5,8],
>>> arr2 = [10,9,1,8]
>>> d = 2
>>> find_arr_distance(arr1, arr2, d)
... 2
Для arr1[0]=4 имеем: |4-10|=6 > d=2 |4-9|=5 > d=2 |4-1|=3 > d=2 |4-8|=4 > d=2 Для arr1[1]=5 имеем: |5-10|=5 > d=2 |5-9|=4 > d=2 |5-1|=4 > d=2 |5-8|=3 > d=2Для arr1[2]=8 имеем:|8-10|=2 <= d=2|8-9|=1 <= d=2|8-1|=7 > d=2|8-8|=0 <= d=2
Pygame — разработка игр на Python
Pygame — это библиотека для создания игр, предоставляющая программистам инструменты для разработки. Она включает в себя возможности для работы с графикой и анимацией, управления клавиатурой и мышью, а также обработки звука.
Ловите небольшой курс по этой игровой библиотеке, где в процессе обучения вы напишете культовую Space Invaders:
https://youtu.be/ilP1dImCuJ8?si=0BNIQYvlQ_PJ9KfR
#курс #python #gamedev #ru
Зачем нужна эта библиотека Python в веб-разработке
Пройдите небольшую викторину, чтобы узнать, насколько вы знакомы с Python-библиотеками и фреймворками, которые используют в веб-разработке. Может статься, даже найдёте новые для себя решения.
#квиз
@zen_of_python
Вопрос подписчика
Задаёт @Liviy:
«Помогите скомпилировать проект
Для компиляции использовал PyInstaller, но при запуске на другом макбуке ошибка bad cpu type
Как сделать исполняемый файл универсальным?»
NB! Пожалуйста, будьте взаимовежливы. Всем нам порой нужно место, где можно попросить помощи.
#обсуждение
@zen_of_python
ViperIDE для MicroPython
Для пользователей облегчённой версии Python есть годная среда разработки, причём с веб-интерфейсом и привычными для любой IDE вещами вроде подсветки синтаксиса, эмулятором девайсов и проч. Как вишенка — мобильная (!) версия.
🌭 — никогда не юзал MicroPy
⚡ — полезно
Репозиторий проекта
#библиотека
@zen_of_python
Репозиторий проекта
#ide
@zen_of_python
Вопрос от подписчика
Задаёт @Tenessy:
«К какой архитектуре backend приложений нужно стремиться? есть какие то гайды?»
NB! Пожалуйста, будьте взаимовежливы. Всем нам порой нужно место, где можно попросить помощи.
#обсуждение
@zen_of_python
В Python могли встроить вирус. Все из-за утечки админского токена языка через публичный Docker-контейнер
В мире программирования произошла одна из самых опасных ошибок за последнее время. И все из-за невнимательности одного из разработчиков: https://tproger.ru/news/v-python-mogli-vstroit-virus--vse-iz-za-utechki-adminskogo-tokena-yazyka-cherez-publichnyj-docker-kontejner
#python
Задача о Р̶о̶с̶с̶т̶а̶т̶е̶ зарплатах
Вам дан массив уникальных целых чисел, где salary[i] — это зарплата i-го сотрудника.
Напишите функцию, которая вернёт среднюю зарплату сотрудников без учёта минимальной и максимальной зарплаты.
Для теста:>>> salaries = [4000,3000,1000,2000]>>> get_mean_salary(salaries)... 2500
#задача
@zen_of_python
Какие редкие либы Python вас удивили в последний год? Кто внезапно стал «убийцей» того или иного популярного решения? Поделитесь в комментариях.
От админа: недавно верстали статью про популярные либы для Django, вышло довольно баяново. Вот и стало интересно, кто чем вдохновлялся в последнее время.
#обсуждение
@zen_of_python
Скидываем кепки на прохожих под окном
Дикий пет-проект: житель Нью-Йорка, дата-сайентист скидывает на головы ньюйоркцев пропеллерную кепку (для защиты от солнца, конечно). Под капотом — Raspberry Pi, cv2, digitalio, paramiko и проч. Если ничего нового для себя не откроете, то точно покекаете от души.
Подробнее
#пет_проект
@zen_of_python
whenever | Работа с datetime без боли
Авторы библиотеки заявляют, что этот инструмент избавит от боли обращения с временным типом данных. Какой бы тип (type aware / naive) ни был в коде, в IDE подсветятся проблемы при наличии. Поддерживает deltas (вычитание из переменной минут / часов и проч.), расширенные трейсбеки и проч.
🌭 — datetime не является болью для меня
⚡ — больно, потому прикручиваю нечто подобное
☃️ — будучи юнцом, не сталкивался пока
Репозиторий проекта
#библиотека
@zen_of_python
Вопрос подписчика
Задает @webstriker:
«Какая библиотека подходит для запуска LLM на потребительской видеокарте для генерации текста в том же Jupyter Notebook? Llama cpp, Tensor rt или что то еще?»
NB! Пожалуйста, будьте взаимовежливы. Всем нам нужна возможность выговориться и попросить помощи без угрозы быть затроленным.
#обсуждение
@zen_of_python
Какой шрифт лучше подойдёт для программирования?
Забавный полуразвлекательный квиз с realpython.com (на английском, состоящий из 12 вопросов и рассчитанный на 10 минут. Узнаете кое-что новое про свои визуальные потребности в IDE.
🌭 — мне достаточно дефолтного шрифта в любой IDE
🌚 — выбираю свой (напишите, какой шрифт любите)
#квиз
@zen_of_python
Поздравляем победителей
Задачу о зарплатах верно решили:
— @mad_shamann;
— @Python3k;
— @GeorKu;
— @vsugoyak.
Самое краткое верное решение предложил @vsugoyak:def get_mean_salary(salaries): return int(sum(srt_tr:=(srt:=sorted(salaries))[srt.count(srt[0]):-srt.count(srt[-1])])/len(srt_tr))
NB! Многие предложенные решения не прошли проверку, поскольку в списке зарплат возможны повторы, что искажает вычисление среднего.
Отдельный респект @Python3k за решение, учитывающее алгоритмическую сложность. И @GeorKu за неявную ситуацию с повтором зарплат в списке.
@zen_of_python
vectorlite | SQLite как векторное хранилище
Это было вопросом времени: если вы сталкивались с прикруткой своей базы знаний к GPT, то знаете, что такое векторное хранилище (FAISS, Pinecone).
Китайцы подгадали потребность разработчиков RAG и запилили решение, которое in-place преобразует обычные SQL-таблицы в вектора. Браво. Ждём, когда крупные компании — разработчики БД «зашерлочат» (заберут себе) эту замечательную фичу.
Репозиторий проекта
#библиотека
@zen_of_python
Вопросы новичков
Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросыновичков
@zen_of_python
Как начать карьеру в Data Science? Поступите в онлайн-магистратуру «Науки о данных» и учитесь у экспертов из экосистемы Сбера и НИТУ МИСИС
Получите качественное образование, погрузитесь в индустрию и приобретёте первый практический опыт по специальности.
Вы сможете:
— под руководством практикующих data-экспертов решать реальные бизнес-задачи,
— освоить актуальный стек технологий для развития в аналитике данных или Data Science,
— разработать собственный проект уже в ходе обучения,
— развить мягкие навыки по модели Сбера,
— применить полученные знания на практике в экосистеме Сбера или компаниях-партнерах,
— подтвердить профессиональный уровень дипломом магистра НИТУ МИСИС гособразца.
Всё обучение онлайн — не нужно ставить на паузу карьеру или переезжать. А еще вам будут доступны все студенческие льготы, включая отсрочку от военной службы.
Подайте заявку, сдайте экзамен — и начинайте учиться уже этой осенью!
Это #партнёрский пост
Квиз: типы данных
Небольшая викторина с realpython.com (на английском) про типы данных. Состоит из 15 вопросов, рассчитана на 10 минут.
Для подготовки можно пользоваться этой статьёй.
#квиз
@zen_of_python
Python без GIL: где попробовать
В версии 3.13 заядлых питонистов обрадовали возможностью отключить GIL (Global Interpreter Lock). Эта фича предотвращает одновременное выполнение нескольких потоков, что из года в год вызывает бурю возмущения от искушённых многопоточностью Go / Java и иже с ними.
На py-free-threading.github.io излагают и про установку такого CPython, и про совместимость, и про портирование модулей.
Подробнее про free-threaded Python
#факты
@zen_of_python
Поздравляем победителей
Задачу о повороте матрицы верно решили:
— @Python3k;
— @erg_y;
— @vsugoyak.
Кратчайшее верное решение предложил @vsugoyak:def turn_matrix(grid, k): return [[grid[(place:=(_n+(n:=len(grid[0]))*_m-k))%(n*len(grid))//n][place%n] for _n in range(len(grid[0]))] for _m in range(len(grid))]
#задача
@zen_of_python
open-interpreter | Управление компьютером с помощью естественного языка
Python-библиотека, которая позволяет управлять ПК с помощью обычной челочеческой речи, в том числе на русском. На видео переключаются со светлой темы на тёмную, конвертируют docx-файлы на рабочем столе в .pdf.
Репозиторий проекта
Интерактивная демка в Colab
#llm #библиотека
Вопросы новичков
Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросыновичков
@zen_of_python
amphi-etl | Low-code-аналог Airflow
Инструмент позволяет генерировать Py-сниппеты и укладывать их в пайплайны. Знает, как без кода обратиться к pandas, DuckDB, LangChain. Есть расширение для Jupyter. Запускается простой командой:amphi start
Интересно, сколько лет ему потребуется, чтобы дорасти до обкатанности Airflow?
Репозиторий проекта
#библиотека
@zen_of_python