Forwarded from HABR FEED + OPENNET
MoscowPython Meetup 78 — 14-го июля в Joom
https://habr.com/ru/post/676512/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676512
Tags: Блог компании Geekfactor.io, Python, Управление разработкой, python, moscowpython, geekfactor, митап
Author ValentinDom #habr
https://habr.com/ru/post/676512/?utm_source=habrahabr&utm_medium=rss&utm_campaign=676512
Tags: Блог компании Geekfactor.io, Python, Управление разработкой, python, moscowpython, geekfactor, митап
Author ValentinDom #habr
Хабр
MoscowPython Meetup 78 — 14-го июля в Joom
Ни для кого не секрет (потому что мы этого не скрываем), что Geekfactor.io является партнёром сообщества MoscowPython. И в этот четверг мы проведём наш 78-й митап в гостях у компании Joom . На митапе...
Forwarded from HABR FEED + OPENNET
Создаем модуль для Telegram bot api на Python
https://habr.com/ru/post/677456/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677456
Tags: Python, python, telegram, telegram bots, http, asyncio, aiohttp, python3, pytelegrambotapi, aiogram, с нуля
Author ivanov_l #habr
https://habr.com/ru/post/677456/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677456
Tags: Python, python, telegram, telegram bots, http, asyncio, aiohttp, python3, pytelegrambotapi, aiogram, с нуля
Author ivanov_l #habr
Forwarded from HABR FEED + OPENNET
[Перевод] Как работать с датами в pandas
https://habr.com/ru/post/677068/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677068
Tags: Блог компании Wunder Fund, Python, Pandas, анализ данных
Author mr-pickles #habr
https://habr.com/ru/post/677068/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677068
Tags: Блог компании Wunder Fund, Python, Pandas, анализ данных
Author mr-pickles #habr
Хабр
Как работать с датами в pandas
Библиотека Pandas — это весьма эффективный инструмент для обработки данных, представляющих собой временные ряды. На самом деле, эта библиотека была создана Уэсом МакКинни для работы с финансовыми...
Forwarded from HABR FEED + OPENNET
Почему в python мало разработчиц
https://habr.com/ru/post/677486/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677486
Tags: Python, Интервью, python, pycon, pyconrussia
Author gerasimovich #habr
https://habr.com/ru/post/677486/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677486
Tags: Python, Интервью, python, pycon, pyconrussia
Author gerasimovich #habr
Хабр
Почему в python мало разработчиц
В 2021 году портал SuperJob подсчитал , что 91% python-разработчиков в России – мужчины. Почему так? Ведь python реально очень крут. Его легко изучать, у него много сфер применения. Можно сказать,...
Forwarded from HABR FEED + OPENNET
Тестируем слой БД в Python с использованием pytest и testcontainers
https://habr.com/ru/post/677598/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677598
Tags: Python, python, testcontainers, pytest
Author Z55 #habr
https://habr.com/ru/post/677598/?utm_source=habrahabr&utm_medium=rss&utm_campaign=677598
Tags: Python, python, testcontainers, pytest
Author Z55 #habr
Хабр
Тестируем слой БД в Python с использованием pytest и testcontainers
Несмотря на большую популярность библиотеки testcontainers в мире java, информации в сети по её применению в python практически нет. Даная статья - попытка ликвидировать этот пробел. Я не буду...
Forwarded from karpov.courses
Мы стараемся время от времени напоминать вам о существовании встроенных модулей Python, которые ни в чём не уступают сторонним решениям, а часто даже оказываются проще и эффективнее.
В этот раз мы подготовили шпаргалку по datetime — модулю из стандартной библиотеки, предоставляющему несколько классов и множество методов для обработки времени и дат. Рассмотрим самые базовые и востребованные из них.
А если перед вами стоит нетривиальная задача: например, обработка данных из разных часовых поясов или расшифровка строк нестандартного формата, мы рекомендуем ознакомиться с полной документацией datetime.
В этот раз мы подготовили шпаргалку по datetime — модулю из стандартной библиотеки, предоставляющему несколько классов и множество методов для обработки времени и дат. Рассмотрим самые базовые и востребованные из них.
А если перед вами стоит нетривиальная задача: например, обработка данных из разных часовых поясов или расшифровка строк нестандартного формата, мы рекомендуем ознакомиться с полной документацией datetime.
Forwarded from Big Data Science [RU]
💥Вместо циклов: 3 альтернативы в Python
Разработчики и Data Scientist’ы знают, что циклы в Python работают медленно. Вместо них можно использовать следующие альтернативы:
• Map – позволяет применить функцию к каждому значению итерируемого объекта (список, кортеж и т. д.);
• Filter – подойдет для фильтрации значений из итерируемого объекта (списка, кортежа, наборов и т. д.). Условия фильтрации задаются внутри функции, которая передается в качестве аргумента функции фильтра.
• Reduce - применяется итеративно ко всем значениям итерируемого объекта и возвращает только одно значение.
Примеры использования: https://medium.com/codex/3-most-effective-yet-underutilized-functions-in-python-d865ffaca0bb
Разработчики и Data Scientist’ы знают, что циклы в Python работают медленно. Вместо них можно использовать следующие альтернативы:
• Map – позволяет применить функцию к каждому значению итерируемого объекта (список, кортеж и т. д.);
• Filter – подойдет для фильтрации значений из итерируемого объекта (списка, кортежа, наборов и т. д.). Условия фильтрации задаются внутри функции, которая передается в качестве аргумента функции фильтра.
• Reduce - применяется итеративно ко всем значениям итерируемого объекта и возвращает только одно значение.
Примеры использования: https://medium.com/codex/3-most-effective-yet-underutilized-functions-in-python-d865ffaca0bb
Medium
Don’t Run Loops in Python, Instead, Use These!
No need to run loops in Python anymore
Python's exec(): Execute Dynamically Generated Code
https://realpython.com/python-exec/
https://realpython.com/python-exec/
Realpython
Python's exec(): Execute Dynamically Generated Code – Real Python
In this tutorial, you'll learn how to use Python's built-in exec() function to execute code that comes as either a string or a compiled code object.
Forwarded from HABR FEED + OPENNET
Там сложно, ты не разберешься
https://habr.com/ru/post/682872/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682872
Tags: Блог компании OTUS, Python, python, обфускация, исходный код
Author Dmitry89 #habr
https://habr.com/ru/post/682872/?utm_source=habrahabr&utm_medium=rss&utm_campaign=682872
Tags: Блог компании OTUS, Python, python, обфускация, исходный код
Author Dmitry89 #habr
Хабр
Там сложно, ты не разберешься
В своей первой статье на Хабре я описывал опыт реверсинга и модификации проекта, доставшегося по наследству. Конечно, в отношении проекта на Python "реверсинг" - это гипербола, однако с чем-то ранее...
Forwarded from Big Data Science [RU]
🗒Нужно логировать события Python-приложения? Есть специальный модуль!
Python-библиотека logging (https://docs.python.org/3/library/logging.html) определяет функции и классы, реализующие гибкую систему регистрации событий для приложений и библиотек. Главное преимущество API-интерфейса логироавния, предоставляемого модулем этой стандартной библиотеки, - возможность регистрации всех событий. Поэтому лог Python-приложения может включать собственные сообщения, интегрированные с сообщениями из сторонних модулей.
Модуль состоит из следующих классов:
• Регистраторы предоставляют интерфейс, который непосредственно использует код приложения
• Обработчики отправляют записи журнала (созданные регистраторами) в место назначения
• Фильтры обеспечивают более точное определение записей журнала для вывода
• Форматеры определяют расположение записей журнала в конечном выводе.
Уровень лога показывает его серьезность, т.е. насколько важно отдельное сообщение. В базовом уровне логирования DEBUG имеет самый низкий приоритет, а CRITICAL — самый высокий. Если определить регистратор чувствительным к сообщениям журнала, начиная с уровня DEBUG, то все все наши зарегистрированные сообщения будут отображаться, поскольку DEBUG является самым низким уровнем. Можно настроить отображение только событий с типом ERROR и CRITICAL.
Пример кода: https://medium.com/@DavidElvis/logging-for-ml-systems-1b055005c2c2
Python-библиотека logging (https://docs.python.org/3/library/logging.html) определяет функции и классы, реализующие гибкую систему регистрации событий для приложений и библиотек. Главное преимущество API-интерфейса логироавния, предоставляемого модулем этой стандартной библиотеки, - возможность регистрации всех событий. Поэтому лог Python-приложения может включать собственные сообщения, интегрированные с сообщениями из сторонних модулей.
Модуль состоит из следующих классов:
• Регистраторы предоставляют интерфейс, который непосредственно использует код приложения
• Обработчики отправляют записи журнала (созданные регистраторами) в место назначения
• Фильтры обеспечивают более точное определение записей журнала для вывода
• Форматеры определяют расположение записей журнала в конечном выводе.
Уровень лога показывает его серьезность, т.е. насколько важно отдельное сообщение. В базовом уровне логирования DEBUG имеет самый низкий приоритет, а CRITICAL — самый высокий. Если определить регистратор чувствительным к сообщениям журнала, начиная с уровня DEBUG, то все все наши зарегистрированные сообщения будут отображаться, поскольку DEBUG является самым низким уровнем. Можно настроить отображение только событий с типом ERROR и CRITICAL.
Пример кода: https://medium.com/@DavidElvis/logging-for-ml-systems-1b055005c2c2
Medium
Logging for ML Systems
Logging is the process of tracking and recording key events that occur in our applications. We want to log events so we can use them to…
Forwarded from Big Data Science [RU]
🖕🏻3 повода использовать оператор присваивания в Python и пара причин этого не делать
Использование оператора присваивания значений, обозначаемого :=, дает следующие преимущества:
• Сокращение количества вызовов функций, например, result = [y := func(x), y**2, y**3] вместо result = [func(x), func(x)**2, func(x)**3]
• Сокращение вложенных условных выражений, например, при использовании сопоставления регулярных выражений за счет удаления вложенных условий if
• Упрощение циклов while, например, при построчном чтении файлов или при получении данных из сокета. Вместо фиктивного бесконечного цикла while с делегированием потока управления оператору break можно использовать оператор присваивания для переназначения значения команды, а затем применить его в условном цикле while в той же строке, что сделает код намного короче.
Разумеется, есть ограничения для использования этого оператора. Например, не рекомендуется применять его с with, т.к. при работе с ContextManager() контекст привязывается к возвращаемому значению, т.е. к результату выполнения этого метода. Это может создать трудности при отладке.
Кроме того, присваивание следует заключать в круглые скобки, чтобы убедиться, что результат присваивается переменной, иначе вычисление может быть выполнено в другом порядке.
Примеры кода: https://betterprogramming.pub/should-you-be-using-pythons-walrus-operator-yes-and-here-s-why-36297be16907
Использование оператора присваивания значений, обозначаемого :=, дает следующие преимущества:
• Сокращение количества вызовов функций, например, result = [y := func(x), y**2, y**3] вместо result = [func(x), func(x)**2, func(x)**3]
• Сокращение вложенных условных выражений, например, при использовании сопоставления регулярных выражений за счет удаления вложенных условий if
• Упрощение циклов while, например, при построчном чтении файлов или при получении данных из сокета. Вместо фиктивного бесконечного цикла while с делегированием потока управления оператору break можно использовать оператор присваивания для переназначения значения команды, а затем применить его в условном цикле while в той же строке, что сделает код намного короче.
Разумеется, есть ограничения для использования этого оператора. Например, не рекомендуется применять его с with, т.к. при работе с ContextManager() контекст привязывается к возвращаемому значению, т.е. к результату выполнения этого метода. Это может создать трудности при отладке.
Кроме того, присваивание следует заключать в круглые скобки, чтобы убедиться, что результат присваивается переменной, иначе вычисление может быть выполнено в другом порядке.
Примеры кода: https://betterprogramming.pub/should-you-be-using-pythons-walrus-operator-yes-and-here-s-why-36297be16907
Medium
Should You Be Using Python’s Walrus Operator? (Yes. And Here’s Why)
Python’s controversial assignment expression — also known as walrus operator — can improve your code, and it’s time you start using it!
Forwarded from Zen of Python
Мифы и легенды современного Python
По устоявшейся традиции разработчики делятся на два типа: одни считают, что Python подходит для решения абсолютно любых задач, другие же настаивают на использовании различных инструментов для каждой задачи. И каждый по-своему прав.
В этой статье собраны популярные стереотипы и мифы о Python, которые разобраны опытными разработчиками:
https://habr.com/ru/company/evrone/blog/685264/
По устоявшейся традиции разработчики делятся на два типа: одни считают, что Python подходит для решения абсолютно любых задач, другие же настаивают на использовании различных инструментов для каждой задачи. И каждый по-своему прав.
В этой статье собраны популярные стереотипы и мифы о Python, которые разобраны опытными разработчиками:
https://habr.com/ru/company/evrone/blog/685264/