🔎 Библиотека Coverage для измерения процента покрытия кода тестами
Coverage.py использует инструменты анализа кода и хуки трассировки, чтобы определить, какие строки кода являются исполняемыми и какие были выполнены.
Эта библиотека является для Python де-факто стандартом проверки покрытия. На днях вышло свежее обновление.
🔗 Страница Coverage на PyPI
👩💻 Репозиторий на GitHub
Coverage.py использует инструменты анализа кода и хуки трассировки, чтобы определить, какие строки кода являются исполняемыми и какие были выполнены.
Эта библиотека является для Python де-факто стандартом проверки покрытия. На днях вышло свежее обновление.
🔗 Страница Coverage на PyPI
👩💻 Репозиторий на GitHub
🎉7👍4🔥2😁2
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
👍26🔥6❤🔥1
🐍 Corey Schafer — полезный YouTube-канал с туториалами по Python
Если вы вдруг не знали про Corey Schafer, то предлагаем ознакомиться. Этот парень записал множество отличных туториалов, связанных с Python. Недавно у него возникли проблемы со здоровьем, но он сообщил, что приходит в норму и готовит к выпуску новые видеоролики.
Вот некоторые из туториалов на его канале:
👉 Pandas
👉 Matplotlib
👉 Django: полнофункциональное веб-приложение
👉 Flask: полнофункциональное веб-приложение
👉 Настройка среды разработки Python в Sublime Text
👉 ООП в Python: работа с классами
Если вы вдруг не знали про Corey Schafer, то предлагаем ознакомиться. Этот парень записал множество отличных туториалов, связанных с Python. Недавно у него возникли проблемы со здоровьем, но он сообщил, что приходит в норму и готовит к выпуску новые видеоролики.
Вот некоторые из туториалов на его канале:
👉 Pandas
👉 Matplotlib
👉 Django: полнофункциональное веб-приложение
👉 Flask: полнофункциональное веб-приложение
👉 Настройка среды разработки Python в Sublime Text
👉 ООП в Python: работа с классами
❤16👍4🔥1
Что такое хуки? Как они используются в Python?
Хуки, в целом, — это технология, позволяющая изменить стандартное поведение тех или иных компонентов информационной системы. Они могут использоваться для изменения поведения функций, отслеживания состояния программы или выполнения дополнительных действий при вызове функций.
✔️Для создания хука в Python можно использовать декораторы. Вот простой пример:
#вопросы_с_собеседований
Хуки, в целом, — это технология, позволяющая изменить стандартное поведение тех или иных компонентов информационной системы. Они могут использоваться для изменения поведения функций, отслеживания состояния программы или выполнения дополнительных действий при вызове функций.
✔️Для создания хука в Python можно использовать декораторы. Вот простой пример:
def simple_hook(func):
def wrapper(*args, **kwargs):
print(f'Вызывается функция: {func.__name__}')
result = func(*args, **kwargs)
print(f'Функция {func.__name__} выполнена')
return result
return wrapper
# Применяем декоратор к функции
@simple_hook
def greet(name):
print(f'Привет, {name}!')
# Вызываем функцию
greet('Алексей')
#вопросы_с_собеседований
🤔14👍10🥰3💯2
This media is not supported in your browser
VIEW IN TELEGRAM
🔐 Простейший способ добавить вход через Google в приложение Django
В статье объясняется, как легко добавить в своё приложение авторизацию через Google (как в видео выше).
Процесс включает несколько шагов:
▫️Рендеринг HTML-страницы с кнопкой входа. При нажатии на кнопку пользователи будут перенаправлены на сайт Google для входа в систему.
▫️После входа в систему Google перенаправит пользователя (с помощью POST-запроса) на указанную страницу сайта.
▫️Мы получим информацию пользователя Google (например, электронную почту) из POST-запроса.
О том, как это сделать, читайте по ссылке 👈
В статье объясняется, как легко добавить в своё приложение авторизацию через Google (как в видео выше).
Процесс включает несколько шагов:
▫️Рендеринг HTML-страницы с кнопкой входа. При нажатии на кнопку пользователи будут перенаправлены на сайт Google для входа в систему.
▫️После входа в систему Google перенаправит пользователя (с помощью POST-запроса) на указанную страницу сайта.
▫️Мы получим информацию пользователя Google (например, электронную почту) из POST-запроса.
О том, как это сделать, читайте по ссылке 👈
👍13🥰3
🐍 Что такое «сырые» строки (Raw Strings) в Python?
«Сырые» строки в Python начинаются с префикса r. Пример:
r'Это сырая строка'
▶️ В «сырых» строках обратные слэши не обрабатываются как специальные символы. Вот пример для понимания:
О том, для чего это может быть нужно, читайте в статье
«Сырые» строки в Python начинаются с префикса r. Пример:
r'Это сырая строка'
▶️ В «сырых» строках обратные слэши не обрабатываются как специальные символы. Вот пример для понимания:
r'10\25\1991' == '10\25\1991'
# выведет False
О том, для чего это может быть нужно, читайте в статье
👍17👏2
💻 Библиотека aiohttp — асинхронный HTTP клиент/сервер
✔️Позволяет выполнять HTTP-запросы и обрабатывать их асинхронно, что полезно для высокопроизводительных веб-приложений.
✔️Поддерживает WebSockets, что позволяет устанавливать двунаправленные, постоянные соединения между клиентом и сервером.
На днях вышла версия aiohttp 3.9.2
🔗 Документация aiohttp
✔️Позволяет выполнять HTTP-запросы и обрабатывать их асинхронно, что полезно для высокопроизводительных веб-приложений.
✔️Поддерживает WebSockets, что позволяет устанавливать двунаправленные, постоянные соединения между клиентом и сервером.
На днях вышла версия aiohttp 3.9.2
🔗 Документация aiohttp
👍12
🐍🎉 5 Python-библиотек, чтобы сделать ваш день веселее
✨ Arcade
Облегчает процесс создания 2D-игр. Здесь можно посмотреть на примеры таких игр.
✨ Rich
Позволяет красиво отформатировать текст в терминале. Поддерживает различные стили и цвета.
✨ PyEphem
Библиотека для астрономических вычислений на Python. Позволяет найти планеты на небе, определить даты равноденствия и солнцестояния, лунных фаз и т.д.
✨ Pygame
Ещё одна библиотека для создания игр (и вообще мультимедиа приложений).
✨ Pyjokes
Библиотека с короткими шутками для программистов.
✨ Arcade
Облегчает процесс создания 2D-игр. Здесь можно посмотреть на примеры таких игр.
✨ Rich
Позволяет красиво отформатировать текст в терминале. Поддерживает различные стили и цвета.
✨ PyEphem
Библиотека для астрономических вычислений на Python. Позволяет найти планеты на небе, определить даты равноденствия и солнцестояния, лунных фаз и т.д.
✨ Pygame
Ещё одна библиотека для создания игр (и вообще мультимедиа приложений).
✨ Pyjokes
Библиотека с короткими шутками для программистов.
👍11🤩2❤1
🤖💬 Вы пользуетесь ИИ-инструментами для автодополнения кода (типа GitHub Copilot)?
👍 — постоянно пользуюсь
🤔 — не пробовал
🥱 — пробовал, мне не понравилось
#интерактив
👍 — постоянно пользуюсь
🤔 — не пробовал
🥱 — пробовал, мне не понравилось
#интерактив
🤔117👍56🥱27🔥2😁2⚡1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤5👍2
🔊 Python-разработчик спас сон целого сообщества от воздушной пушки
В городе Корваллис, штата Орегон, США, фермеры повадились использовать воздушные пушки, чтобы отпугивать канадских казарок, водоплавающих птиц, которые любят разорять поля с овсом, ячменем, кукурузой и пшеницей. Один местный житель рассказал, что в январе пушки начали стрелять каждые две минуты в течение дня и ночи. Из-за этого многие люди в округе не могли уснуть.
К счастью, этот местный житель оказался программистом. Он нашёл способ определить источник назойливого шума.
🔸 Сначала программист попросил троих человек встать в разных местах и измерять точное время каждого выстрела из пушки. Это позволило определить область поиска.
🔸 Затем он написал программу на Python, которая могла перебирать все точки на изображении в области поиска.
🔸 В результате программист позвонил владельцу фермы, расположенной в одной из точек-кандидатов, и спросил, использует ли он воздушную пушку. Фермер отрицал, что включает отпугиватель птиц ночью, но после разговора выстрелы перестали беспокоить людей.
🔗 Прочесть эту историю подробнее и посмотреть исходный код программы можно здесь
В городе Корваллис, штата Орегон, США, фермеры повадились использовать воздушные пушки, чтобы отпугивать канадских казарок, водоплавающих птиц, которые любят разорять поля с овсом, ячменем, кукурузой и пшеницей. Один местный житель рассказал, что в январе пушки начали стрелять каждые две минуты в течение дня и ночи. Из-за этого многие люди в округе не могли уснуть.
К счастью, этот местный житель оказался программистом. Он нашёл способ определить источник назойливого шума.
🔸 Сначала программист попросил троих человек встать в разных местах и измерять точное время каждого выстрела из пушки. Это позволило определить область поиска.
🔸 Затем он написал программу на Python, которая могла перебирать все точки на изображении в области поиска.
🔸 В результате программист позвонил владельцу фермы, расположенной в одной из точек-кандидатов, и спросил, использует ли он воздушную пушку. Фермер отрицал, что включает отпугиватель птиц ночью, но после разговора выстрелы перестали беспокоить людей.
🔗 Прочесть эту историю подробнее и посмотреть исходный код программы можно здесь
👍25😁13🥱5🔥1
Во многих других языках, например C или Java, при объявлении переменных сразу указывается их тип. В Python же типы определяются автоматически во время выполнения, а не в ответ на объявления в коде. Это и есть динамическая типизация.
Код на Java (со статической типизацией):
int number = 5;Код на Python:
number = 5
Переменная создаётся при первом присваивании ей значения. Последующие присваивания изменяют значение уже созданного имени.
Переменная не располагает никакой информацией о типе. Понятие типа обитает в объектах, а не в именах. Переменные же всегда просто ссылаются на определённый объект. А каждый объект содержит заголовочное поле с обозначением типа.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🥱11🔥6😁3🎉3❤🔥2
🐍 IPython — интерактивная оболочка для Python
Предоставляет набор инструментов для интерактивной работы с Python, включая удобный интерфейс командной строки, подсветку синтаксиса, автодополнение, магические команды для выполнения различных действий и многое другое.
Кроме того, IPython является ядром для Jupyter. Jupyter-ноутбук — это графическая веб-оболочка для IPython, которая расширяет идею консольного подхода к интерактивным вычислениям.
На днях вышла версия IPython 8.21.0.
Установка — pip install ipython
🔗 Документация проекта
Предоставляет набор инструментов для интерактивной работы с Python, включая удобный интерфейс командной строки, подсветку синтаксиса, автодополнение, магические команды для выполнения различных действий и многое другое.
Кроме того, IPython является ядром для Jupyter. Jupyter-ноутбук — это графическая веб-оболочка для IPython, которая расширяет идею консольного подхода к интерактивным вычислениям.
На днях вышла версия IPython 8.21.0.
Установка — pip install ipython
🔗 Документация проекта
👍10🔥1
👨💻 Python Multiprocessing. Обмен данными между процессами
Параллельное программирование позволяет эффективно использовать мощности современных компьютеров с несколькими ядрами и процессорами. В новой статье автор рассматривает тему обмена данными в мультипроцессных Python-программах. В частности, речь идёт о модуле Multiprocessing, который позволяет создавать процессы, выполняющиеся полностью независимо друг от друга. В модуле реализованы нативные способы передавать данные между процессами. Но как только приходится иметь дело не со встроенными типами данных, то готовые решения уже не работают.
Автор рассказывает о том, как решить вышеозначенную проблему, двигаясь от простых примеров к сложным.
✏️ Примеры кода из статьи
🔗 Сама статья
Параллельное программирование позволяет эффективно использовать мощности современных компьютеров с несколькими ядрами и процессорами. В новой статье автор рассматривает тему обмена данными в мультипроцессных Python-программах. В частности, речь идёт о модуле Multiprocessing, который позволяет создавать процессы, выполняющиеся полностью независимо друг от друга. В модуле реализованы нативные способы передавать данные между процессами. Но как только приходится иметь дело не со встроенными типами данных, то готовые решения уже не работают.
Автор рассказывает о том, как решить вышеозначенную проблему, двигаясь от простых примеров к сложным.
✏️ Примеры кода из статьи
🔗 Сама статья
😁9👍5🔥1
👍27👏4😁2🔥1
🚀 Как быстрее прочитать много данных из Excel в Python?
Разработчик ПО Haki Benita написал любопытную статью, в которой сравнил разные способы прочесть экселевские данные. Автор создал файл Excel размером 25 МБ, содержащий 500 тысяч строк с различными типами столбцов. Далее он измерил скорость чтения для каждого из следующих методов:
▪️Pandas;
▪️Tablib;
▪️Openpyxl;
▪️LibreOffice;
▪️DuckDB;
▪️Calamine.
Один из способов позволил считать 500 тысяч строк менее, чем за 4 секунды. И это был Calamine.
👉 Подробности читайте в статье
Разработчик ПО Haki Benita написал любопытную статью, в которой сравнил разные способы прочесть экселевские данные. Автор создал файл Excel размером 25 МБ, содержащий 500 тысяч строк с различными типами столбцов. Далее он измерил скорость чтения для каждого из следующих методов:
▪️Pandas;
▪️Tablib;
▪️Openpyxl;
▪️LibreOffice;
▪️DuckDB;
▪️Calamine.
Один из способов позволил считать 500 тысяч строк менее, чем за 4 секунды. И это был Calamine.
👉 Подробности читайте в статье
👍32🔥1🥱1
📹 Подборка роликов про собеседования на позицию Python-разработчика
Mock-собеседования или просто видео с разбором популярных вопросов могут быть хорошим способом подготовиться к настоящему интервью. Вот несколько подходящих видеороликов:
☑️ Техническое собеседование на позицию Python Junior | Solvery + Moscow Python
☑️ Собеседование Python. Разбор вопросов
☑️ Открытое собеседование на джуниор Python-разработчика
☑️ Типичное собеседование #2. Позиция Middle Data Scientist. Accepted!
☑️ Собеседование на 200к в мес на Python разработчика (но я гуглю все вопросы)
☑️ В чем разница между списками и кортежами в python?
☑️ СОБЕСЕДОВАНИЕ с Эдуардом | Знания Python, задачи на код, алгоритмические задачи
Mock-собеседования или просто видео с разбором популярных вопросов могут быть хорошим способом подготовиться к настоящему интервью. Вот несколько подходящих видеороликов:
☑️ Техническое собеседование на позицию Python Junior | Solvery + Moscow Python
☑️ Собеседование Python. Разбор вопросов
☑️ Открытое собеседование на джуниор Python-разработчика
☑️ Типичное собеседование #2. Позиция Middle Data Scientist. Accepted!
☑️ Собеседование на 200к в мес на Python разработчика (но я гуглю все вопросы)
☑️ В чем разница между списками и кортежами в python?
☑️ СОБЕСЕДОВАНИЕ с Эдуардом | Знания Python, задачи на код, алгоритмические задачи
👍18🔥1
🛠️ Django Debug Toolbar — панель отладки и профилирования Django приложений
Позволяет:
▪️эффективно инспектировать и отлаживать различные аспекты приложения;
▪️отслеживать SQL-запросы, включая время их выполнения;
▪️отслеживать логи и др.
На днях стала доступна последняя версия django-debug-toolbar 4.3.0
🔗 Документация
Позволяет:
▪️эффективно инспектировать и отлаживать различные аспекты приложения;
▪️отслеживать SQL-запросы, включая время их выполнения;
▪️отслеживать логи и др.
На днях стала доступна последняя версия django-debug-toolbar 4.3.0
🔗 Документация
👍13🎉6🔥4
👩💻 Поиск самой быстрой JSON-библиотеки на Python
Автор свежего текста сравнивает между собой 8 библиотек:
▫️orjson
▫️pysimdjson
▫️yapic.json
▫️simplejson
▫️ujson
▫️python-rapidjson
▫️cysimdjson
▫️nujson (deprecated)
Бенчмарк запускали на всех версиях Python, начиная с 3.8 и заканчивая 3.13. В итоге, автор пришёл к выводу, что быстрее всех orjson.
🔗 Прочесть статью целиком можно тут
P.S.: комментаторы на Reddit отметили, что автор забыл ещё об одной библиотеке msgspec. Кто-то считает, что она быстрее orjson.
Автор свежего текста сравнивает между собой 8 библиотек:
▫️orjson
▫️pysimdjson
▫️yapic.json
▫️simplejson
▫️ujson
▫️python-rapidjson
▫️cysimdjson
▫️nujson (deprecated)
Бенчмарк запускали на всех версиях Python, начиная с 3.8 и заканчивая 3.13. В итоге, автор пришёл к выводу, что быстрее всех orjson.
🔗 Прочесть статью целиком можно тут
P.S.: комментаторы на Reddit отметили, что автор забыл ещё об одной библиотеке msgspec. Кто-то считает, что она быстрее orjson.
👍16🎉5🔥2