zen_of_python | Unsorted

Telegram-канал zen_of_python - Zen of Python

20687

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Subscribe to a channel

Zen of Python

Квиз: как удалять элементы списка

Небольшая англоязычная викторина на 6 вопросов с RealPython. К ее прохождению можно подготовиться с помощью статьи.

#квиз

@zen_of_python

Читать полностью…

Zen of Python

Вопрос подписчика

Задает Anton Yablokov:

"pyaudio не выдаёт звук, когда прошу устройство явно, а не определённые системой pulse и default. ЧЯДНТ?

Какие есть альтернативы, кроме тяжеловесной PySide6.QtMultimedia?

https://stackoverflow.com/questions/79295111/pyaudio-produces-no-sound-when-using-explicit-device".

#вопрос

@zen_of_python

Читать полностью…

Zen of Python

Большой гайд по Python от Tproger: инструменты для всех направлений

В Tproger подготовили подборку питонических статей для начинающих по следующим направлениям:

— Бэкенд-разработка;
— Фронтенд-разработка;
— Парсинг;
— Тестирование;
— Data Science.

Здесь и роадмапы, и про хранение данных, и про самые популярные фреймворки и многое другое.

#основы

Читать полностью…

Zen of Python

В чём преимущества и недостатки перехода на платформы?

«Что хорошего: система становится стабильнее, быстрее внедряются новые фичи, а сервисом могут пользоваться различные продуктовые команды», — рассказывает Ярослав Тулупов,CTO финтеха Авито. 

А узнать, что не очень, можно в конференц-зале Avito All Day Long, в котором мы собрали краткую выжимку из докладов этого большого события. Располагайтесь, места хватит всем: https://tprg.ru/5Osj

Реклама

Читать полностью…

Zen of Python

Обновился NumPy

Среди нововведений:
— появилась функция numpy.matvec() для перемножения матрицы и вектора;
— появилась функция numpy.vecmat() для перемножения вектора и матрицы;
— Улучшенная поддержка StringDType (специальный строковый тип данных в Numpy) в контексте Ufuncs (универсальные функции для эффективные вычислений в массивах без необходимости явного зацикливания).

Release Notes

#инструмент

@zen_of_python

Читать полностью…

Zen of Python

#кек

@zen_of_python

Читать полностью…

Zen of Python

#кек

@zen_of_python

Читать полностью…

Zen of Python

Простыми словами о сложном: лямбда-функции

Помимо инструкции def имеется возможность создавать объекты функций в форме выражений. Из-за сходства с аналогичной возможностью в языке LISP она получила название lambda.

lambda x, y, z: x + y + z

Это выражение создает функцию, которая будет вызываться позднее, но в отличие от инструкции def, выражение не связывает ее с именем. Именно поэтому lambda-выражения иногда называют анонимными (то есть безымянными) функциями.

На практике они часто используются, как способ получить встроенную функцию или отложить выполнение фрагмента программного кода.

В общем виде lambda-выражение состоит из ключевого слова lambda, за которым следуют один или более аргументов (точно так же, как список аргументов в круглых скобках в заголовке инструкции def) и далее, вслед за двоеточием, находится выражение:

lambda argument1, argument2,... argumentN : выражение, использующее аргументы

lambda – это выражение, а не инструкция. По этой причине это ключевое слово может появляться там, где синтаксис языка Python не позволяет использовать инструкцию def – внутри литералов или в вызовах функций, например.

Тело lambda-выражения сродни тому, что вы помещаете в инструкцию return внутри определения def, – вы просто вводите результат в виде выражения вместо его явного возврата.

Вследствие этого ограничения lambda-выражения менее универсальны, чем инструкция def – в теле lambda-выражения может быть реализована только логика, не использующая такие инструкции, как if. Такая реализация предусмотрена заранее – она ограничивает возможность создания большого числа уровней вложенности программ: lambda-выражения предназначены для создания простых функций, а инструкции def – для решения более сложных задач.

Если отвлечься от этих различий, def и lambda выполняют одну и ту же работу. Как создаются функции с помощью инструкции def:

def func(x, y, z): return x + y + z
func(2, 3, 4) # 9

Того же эффекта можно достигнуть с помощью lambda-выражения, явно присвоив результат имени, которое позднее будет использоваться для вызова функции:

f = lambda x, y, z: x + y + z
f(2, 3, 4) # 9

@zen_of_python

Читать полностью…

Zen of Python

Как выглядит день Python-разработчика, если бы его описывал создатель экзистенциализма

Редакция Tproger попросила ChatGPT описать типичный день питониста так, словно это рассказ Жан Поля Сартра, и вот что из этого получилось:

Утро. Рассвет несет с собой новые возможности, но также и бремя выбора. Разработчик просыпается в своем cramped пространстве — маленькой комнате, заставленной горой книг и компьютерных девайсов. Вокруг него царит хаос, отражающий внутреннее состояние: пустые чашки из-под кофе, закладки на страницах о Python и фреймворках, которые ждут своего часа.

Он включает компьютер, и здесь начинается его борьба. Первые строки кода — это манифест его существования. Каждая буква, каждая команда, каждое решение требуют от него осознанности. Он понимает, что его код может быть как искусством, так и абсурдом, в зависимости от того, как он его напишет. В этом заключается его свобода и одновременно его проклятие.

Работа над проектом затягивается. Он сталкивается с багами, которые кажутся не только техническими проблемами, но и отражением его внутренней борьбы. "Почему я выбрал Python?" — спрашивает он себя. Но вопрос этот не дает ответов, лишь больше погружает в размышления о вечной проблеме человеческого существования и первопричинах. Он понимает, что каждая строка кода, даже самая незначительная, влияет на весь проект, как каждое малое решение формирует его судьбу.

Полдень. Он делает перерыв, но мысли о коде не покидают его. Эти мысли, как призраки, навязчиво возвращаются к нему, напоминая о том, что жизнь разработчика — это ежедневная борьба за понимание, контроль и гармонию в мире, где все постоянно меняется. Коллеги обсуждают последние тренды в разработке, но он ощущает абсурдность этой гонки. "Зачем мне следовать за модой, если я могу создать нечто свое?" — думает он, с опасением глядя на свою отражающую экран пустую строчку кода.

Вечер. Он смотрит на результаты своего труда. Код работает, но к какому выводу он пришел? Разработчик создает небольшую программу, которая помогает решать задачи, но в ней есть ирония — ее успех измеряется не успехом, а его осознанием, что он создал нечто полезное всего лишь для того, чтобы заполнить пустоту своего существования. Здесь, в этих строчках кода, он находит смысл. Он понимает, что в мире абсурда, лишь он — творец своего собственного значения, и каждый шаг, каждый клик — это возможность утвердить свое право на существование.

Ночь. Он завершает работу, выключает компьютер и, возможно, выпивает бокал вина, размышляя о том, что впереди еще множество дней, полных борьбы, выбора и кода. Но он готов. Это его путь, и он осознанно идет по нему, живя в тот самый момент, когда код обретает жизнь.

@zen_of_python

Читать полностью…

Zen of Python

Microsoft открыла исходный код Python-либы для преобразования файлов в Markdown

MarkItDown — идеальное решение для конвертации файлов и офисных документов в Markdown. Подойдёт для анализа, индексации или упорядочивания данных.

Что поддерживает:

— PDF, PowerPoint, Word, Excel.
— Изображения (EXIF и OCR).
— Аудио (метаданные и транскрипция речи).
— HTML (включая специальную обработку Wikipedia).
— Text-based форматы: CSV, JSON, XML и другие.

Плюсом можно прикрутить LLM для описания изображений.

#инструменты #python #анализ

Читать полностью…

Zen of Python

peek | Дебажить грамотнее, чем с print()

Утилита позволяет настраивать, куда и как будет выводиться информация во время выполнения программы. Вы можете выводить данные в командную строку, записывать их в файл или использовать собственный обработчик.

Вы можете управлять детализацией вывода, фильтровать сообщения по критичности и использовать много других полезных фичей.

Цена: бесплатно  
Документация проекта

#инструмент

@zen_of_python

Читать полностью…

Zen of Python

Вышел PEP 767

Одно из главных нововведений — режим ReadOnly («только для чтения») для атрибутов классов и протоколов. Это добавляет ясности при работе со статическими анализаторами типов, которые будут проверять соблюдение этого условного ограничения.

Проблема с текущими механизмами:
typing.Final накладывает ограничения на переопределение в подклассах;
— Применение свойства с @property требует дополнительного шаблона кода и неочевидно;
— Замороженные классы (например, с dataclass(frozen=True)) накладывают ограничения на весь класс, что может быть избыточно.

Читать PEP полностью

@zen_of_python

Читать полностью…

Zen of Python

kitty | GPU-терминал

Пока мир сходит с ума от требовательных к видеокартам моделей, одна небольшая команда перевела терминал на графические процессоры, и это дало солидный прирост производительности. Настолько, что на GitHub этой библиотеке выставили 25К+ звезд.

Цифры на таблице — это мегабайты данных в секунду, которые обрабатывает терминал. Измерения проводились под Linux/X11 с AMD Ryzen 7 PRO 5850U.

Документация

@zen_of_python

Читать полностью…

Zen of Python

#кек

@zen_of_python

Читать полностью…

Zen of Python

14–15 декабря VK Tech проведёт Weekend Offer для Python-разработчиков и инженеров

Это шанс присоединиться к работе над крупнейшей облачной платформой страны VK Cloud и вместе с VK Tech помогать бизнесу расти.

Узнайте больше о вакансиях и откликайтесь здесь.

Флоу простой: оставляете заявку, общаетесь с рекрутерами, выбираете слоты для собеседований и проходите их в назначенное время. О результате VK Tech сообщит вскоре после финального интервью.

Откликайтесь до 13 декабря включительно.

Это #партнёрский пост

Читать полностью…

Zen of Python

Лучшие питонические курсы по версии Stepik

Держите подборку лучших уроков, среди которых — отрекомендованные / опробованные подписчиками / админом:

Основы ЯП:
"Поколение Python": курс для профессионалов, 5900
Добрый, добрый Python с Сергеем Балакиревым, бесплатно

Алгоритмы, структуры данных:
Алгоритмы: теория и практика. Методы

Продвинутый Python:
Асинхронный Python
Машинное Обучение в Python: Большой Курс для Начинающих

Если вам попадались еще годные ресурсы, поделитесь в комментариях.

#курс

@zen_of_python

Читать полностью…

Zen of Python

enlighten | Индикатор прогресса для CLI

Минималистичный, но полезный во многих случаях инструмент, который отображает прогресс-бары прям в командной строке, НЕ опираясь на реальный прогресс функции, как и 99% таких шкал в играх, кстати. Но ощутимая польза все равно есть.

import enlighten

manager = enlighten.get_manager()
pbar = manager.counter(total=100, desc='Basic', unit='ticks')


Цена: бесплатно
Репозиторий проекта

@zen_of_python

Читать полностью…

Zen of Python

Ниже приводится несколько правил в языке Python, которым вам необходимо следовать, если у вас появится потребность использовать специальные режимы сопоставления аргументов:

— В вызове функции аргументы должны указываться в следующем порядке: любые позиционные аргументы (значения), за которыми могут следовать
любые именованные аргументы (имя=значение) и аргументы в форме *итерируемый объект, за которыми могут следовать аргументы в форме **словарь.

— В заголовке функции аргументы должны указываться в следующем порядке: любые обычные аргументы (name), за которыми могут следовать аргументы со значениями по умолчанию (name=value), за которыми следуют аргументы в форме *name (или * в 3.0), если имеются, за которыми могут следовать любые имена или пары name=value аргументов, которые передаются только по имени (в 3.0), за которыми могут следовать аргументы в форме **имя.

Читать полностью…

Zen of Python

ridgeplot | Красивые графики распределения

Инструмент позволяет строить Ridge Plots — разновидность гистограммы, похожей на горный хребет. Это по сути надстройка над небезызвестным Plotly, при этом прописать тонкостей можно еще больше — интервалы, цвета, шрифты и многое другое.

Репозиторий проекта

#инструмент

@zen_of_python

Читать полностью…

Zen of Python

Ибо ее весьма непросто понять порой

#кек

@zen_of_python

Читать полностью…

Zen of Python

plt.xkcd() | Пасхалка для любителей мемных графиков

В официальной документации Matplotlib есть блок, посвященный функции plt.xkcd(). Она строит графики в стиле одноименных комиксов (как на картинке).

with plt.xkcd():
# Based on "Stove Ownership" from XKCD by Randall Munroe
# https://xkcd.com/418/

fig = plt.figure()
ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))
ax.spines[['top', 'right']].set_visible(False)
ax.set_xticks([])
ax.set_yticks([])
ax.set_ylim([-30, 10])

data = np.ones(100)
data[70:] -= np.arange(30)

ax.annotate(
'THE DAY I REALIZED\nI COULD COOK BACON\nWHENEVER I WANTED',
xy=(70, 1), arrowprops=dict(arrowstyle='->'), xytext=(15, -10))

ax.plot(data)

ax.set_xlabel('time')
ax.set_ylabel('my overall health')
fig.text(
0.5, 0.05,
'"Stove Ownership" from xkcd by Randall Munroe',
ha='center')

А если вам захотелось покекать, то вот ссылка на официальный сайт создателя Монро.

#кек

@zen_of_python

Читать полностью…

Zen of Python

Вопросы подписчиков

Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;

#вопросыновичков

@zen_of_python

Читать полностью…

Zen of Python

Python: итоги года от одного из друзей Python Software Foundation

Очень познавательный англоязычный лонгрид с интересной статой из мира Python-разработки:

— какие облака популярны;
— какие фреймворки для чего используются;
— использование Docker + Kubernetes;
— какие менеджеры зависимостей побеждают и многое другое.

Читать

#факты

@zen_of_python

Читать полностью…

Zen of Python

Выводится 'Spam', поскольку оператор nonlocal означает, что присваивание X внутри вложенной функции изменяет X в локальной области видимости объемлющей функции. Без этого оператора присваивания классифицировало X бы как локальную переменную во вложенной функции, делая ее другой переменной; тогда код выводил бы 'Ni'.

Читать полностью…

Zen of Python

Техно-город из нашего виммельбуха продолжает готовиться к Новому Году!

На городской ёлке зажглись яркие огни, а улицы осветились блеском гирлянд и фонарей. Пока одни бегают в поисках подарков любимым, другие усердно доделывают важные задачи до конца года. В общем, что говорить, скорее открывайте третью главу и увидьте всё своими глазами: https://tprg.ru/Tntk

Реклама, ИП Михайлишина Гузель Фаниловна, erid: LjN8JsvVt

Читать полностью…

Zen of Python

Leopards | быстрая фильтрация списков

Библиотека позволяет фильтровать списки с логикой SQL OR / AND / NOT, причем намного быстрее Pandas.

Репозиторий проекта

#инструмент

@zen_of_python

Читать полностью…

Zen of Python

torchtitan | Фреймворк от PyTorch для LLM

Проект в стадии proof-of-concept, однако уже собрал 2К+ звезд на GitHub. Создатели самого влиятельного ML-фреймворка современности создали специфическую версию для обучения собственных Large Language Models. Теперь войти в эту игру среднему бизнесу станет еще проще.

Репозиторий проекта

#llm #инструмент

@zen_of_python

Читать полностью…

Zen of Python

Квиз: создание простейшего CLI-интерфейса

Если вы подумываете написать свою утилиту командной строки, посмотрите, как это делается с помощью argparse и пройдите викторину на 17 вопросов с realpython.com.

#квиз

@zen_of_python

Читать полностью…

Zen of Python

Вопросы новичков

Zen of Python поддерживает новоприбывших в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;

#вопросыновичков

@zen_of_python

Читать полностью…

Zen of Python

Вопрос подписчика

Задает @Zhurakov:

«Есть кто обучился Python с нуля не имея никакого опыта в программирование и устроился на работу?»

Учитывая комменты к этому вопросу, слегка дополним вопрос:

«Напишите, кем работали до обучения Python, если эта сфера далека от программирования».

От админа: перед тем, как переобучиться в ИТМО и устроиться дата-аналитиком, должность была секретарь на ресепшн в строительной компании. Между событиями «выдали корочку» и «взяли кодером» прошло 4 года.

#вопросыподписчиков

@zen_of_python

Читать полностью…
Subscribe to a channel