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/
Forwarded from Zen of Python
Устаревшие Python-библиотеки, которые давно пора оставить в прошлом
С каждым релизом в Python добавляют новые модули, появляются новые и улучшенные способы решения различных задач. Но мы почему-то продолжаем пользоваться старыми добрыми Python-библиотеками. Например, os.urandom, pytz, distutils, хотя для них уже есть отличные более современные замены.
Пришло время обновиться, время воспользоваться новыми и улучшенными модулями и их возможностями:
https://habr.com/ru/company/wunderfund/blog/681284/
С каждым релизом в Python добавляют новые модули, появляются новые и улучшенные способы решения различных задач. Но мы почему-то продолжаем пользоваться старыми добрыми Python-библиотеками. Например, os.urandom, pytz, distutils, хотя для них уже есть отличные более современные замены.
Пришло время обновиться, время воспользоваться новыми и улучшенными модулями и их возможностями:
https://habr.com/ru/company/wunderfund/blog/681284/
Forwarded from Zen of Python
This media is not supported in your browser
VIEW IN TELEGRAM
Пишем бота для telegram, который вычисляет по ip и рассказывает погоду
Угрозы быть вычисленным по ip перестали быть угрозами. Но волноваться не стоит, ведь вычислять вас будет собственный бот и лишь для того, чтобы дать вам сводку по погоде.
Если хотите написать себе такого, то вам понадобится python, aiogram и эта статья:
https://habr.com/ru/post/684038/
#бот #telegram
Угрозы быть вычисленным по ip перестали быть угрозами. Но волноваться не стоит, ведь вычислять вас будет собственный бот и лишь для того, чтобы дать вам сводку по погоде.
Если хотите написать себе такого, то вам понадобится python, aiogram и эта статья:
https://habr.com/ru/post/684038/
#бот #telegram
Forwarded from Zen of Python
Деплой Django проекта на Heroku
Heroku — это облачный сервис, позволяющий разместить ваше приложение. Он поддерживает различные языки программирования, включая Python, а также различные аддоны, включая базу данных PostgreSQL.
Если хотите запустить ваше приложение для работы на сервере, то для начала прочитайте эту статью:
https://habr.com/ru/post/683796/
#django #heroku
Heroku — это облачный сервис, позволяющий разместить ваше приложение. Он поддерживает различные языки программирования, включая Python, а также различные аддоны, включая базу данных PostgreSQL.
Если хотите запустить ваше приложение для работы на сервере, то для начала прочитайте эту статью:
https://habr.com/ru/post/683796/
#django #heroku
Forwarded from Zen of Python
5 доказательств силы итерируемых объектов в Python
Итерируемые объекты — это объекты, которые могут быть преобразованы в итераторы, чьи элементы можно перебирать. Они настолько важны, что используются повсеместно при каждом удобном случае.
В этой статье вы сможете посмотреть на распространённые случи их использования в Python:
https://nuancesprog.ru/p/10504/
Итерируемые объекты — это объекты, которые могут быть преобразованы в итераторы, чьи элементы можно перебирать. Они настолько важны, что используются повсеместно при каждом удобном случае.
В этой статье вы сможете посмотреть на распространённые случи их использования в Python:
https://nuancesprog.ru/p/10504/
Forwarded from Zen of Python
Самый быстрый способ разделить текстовый файл с помощью Python
Чтение данных из текстового файла — рутинная задача в Python. В этой статье мы посмотрим с вами на самый быстрый способ чтения и разделения текстового файла с помощью Python. Разделение данных преобразует текст в список, что упрощает дальнейшую работу с ним.
Подробнее:
https://www.pythonforbeginners.com/files/the-fastest-way-to-split-a-text-file-using-python
Чтение данных из текстового файла — рутинная задача в Python. В этой статье мы посмотрим с вами на самый быстрый способ чтения и разделения текстового файла с помощью Python. Разделение данных преобразует текст в список, что упрощает дальнейшую работу с ним.
Подробнее:
https://www.pythonforbeginners.com/files/the-fastest-way-to-split-a-text-file-using-python
Forwarded from Zen of Python
Давайте превратим CSV в PDF-файл с помощью python
Содержимое CSV-файлов обычно не слишком читаемое, но при это может быть крайне важным и полезным. Поэтому иногда может потребоваться преобразовать его в более удобный к прочтению вид, например, в PDF-формат.
О том, как это сделать можно подробно узнать в этой статье:
https://www.pythonforbeginners.com/basics/convert-csv-to-pdf-file-in-python
#csv
Содержимое CSV-файлов обычно не слишком читаемое, но при это может быть крайне важным и полезным. Поэтому иногда может потребоваться преобразовать его в более удобный к прочтению вид, например, в PDF-формат.
О том, как это сделать можно подробно узнать в этой статье:
https://www.pythonforbeginners.com/basics/convert-csv-to-pdf-file-in-python
#csv
Forwarded from Zen of Python
Как использовать объекты timedelta в Python для работы с датами
Если вы работаете с датами и временем в Python, то скорее всего часто используете
В этой статье вы узнаете все его возможности и способы применения:
https://www.freecodecamp.org/news/how-to-use-timedelta-objects-in-python/
Если вы работаете с датами и временем в Python, то скорее всего часто используете
timedelta
. Он обозначает промежуток времени и помогает производить арифметические операции над объектами времени и даты.В этой статье вы узнаете все его возможности и способы применения:
https://www.freecodecamp.org/news/how-to-use-timedelta-objects-in-python/
Forwarded from Zen of Python
Создаём систему для быстрого поиска свободного места на парковке
Для этого нам понадобится обычная камера видеонаблюдения и Telegram-бот, написанный с помощью Python, Matterport Mask R-CNN, OpenCV и YOLO. Подробнее о процессе разработки, фишках и подводных камнях — в статье:
https://habr.com/ru/post/451164/
#opencv #ai #ml #telegram
Для этого нам понадобится обычная камера видеонаблюдения и Telegram-бот, написанный с помощью Python, Matterport Mask R-CNN, OpenCV и YOLO. Подробнее о процессе разработки, фишках и подводных камнях — в статье:
https://habr.com/ru/post/451164/
#opencv #ai #ml #telegram
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/
Forwarded from Zen of Python
Топ-5 веб-фреймворков для Python
Python является популярным языком для веб-разработки — он прост, гибок, обладает множеством возможностей и инструментов для этой задачи. О последних как раз и пойдёт речь в этой статье.
Вы можете познакомиться с 5 веб-фреймворками, узнать их достоинства и недостатки, а затем выбрать подходящий для вашего следующего проекта, прочитав этот материал:
https://pythonist.ru/top-5-veb-frejmvorkov-dlya-python/
#веб
Python является популярным языком для веб-разработки — он прост, гибок, обладает множеством возможностей и инструментов для этой задачи. О последних как раз и пойдёт речь в этой статье.
Вы можете познакомиться с 5 веб-фреймворками, узнать их достоинства и недостатки, а затем выбрать подходящий для вашего следующего проекта, прочитав этот материал:
https://pythonist.ru/top-5-veb-frejmvorkov-dlya-python/
#веб
Forwarded from Zen of Python
Когда стоит использовать yield вместо return в Python
Оператор
Пример работы такой функции и рекомендации по её использованию можно прочитать в этой небольшой статье:
https://pythonru.com/osnovy/kogda-stoit-ispolzovat-yield-vmesto-return-v-python
Оператор
yield
действует похожим на return
образом, но с некоторыми отличиями. Он приостанавливает выполнение функции и возвращает указанное значение, оставляя возможность продолжить выполнение функции с того момента, где она была поставлена на паузу. Пример работы такой функции и рекомендации по её использованию можно прочитать в этой небольшой статье:
https://pythonru.com/osnovy/kogda-stoit-ispolzovat-yield-vmesto-return-v-python
Forwarded from Small Data Science for Russian Adventurers
Вопрос по Python. Что выведется, если в ячейке питон-ноутбука набрать {True: 'да', 1: 'нет', 1.0: 'возможно'}?
Anonymous Quiz
32%
{True: 'да', 1: 'нет', 1.0: 'возможно'}
3%
{True: 'да', 1: 'нет'}
12%
{True: 'да', 1: 'возможно'}
5%
{True: 'да'}
20%
{True: 'возможно'}
27%
ошибка
Forwarded from Zen of Python
Лучшие практики для Python
У каждого разработчика со временем не только опыт нарабатывается, но также складываются представления о правильных практиках и подходах к работе. В этой статье автор решил поделиться своими инсайтами с вами. Возможно, вы найдёте здесь для себя что-то полезное:
https://habr.com/ru/post/686122/
У каждого разработчика со временем не только опыт нарабатывается, но также складываются представления о правильных практиках и подходах к работе. В этой статье автор решил поделиться своими инсайтами с вами. Возможно, вы найдёте здесь для себя что-то полезное:
https://habr.com/ru/post/686122/