Библиотека Python разработчика | Книги по питону
19.5K subscribers
1.05K photos
391 videos
82 files
988 links
Полезные материалы для питониста по Фреймворкам Django, Flask, FastAPI, Pyramid, Tornado и др.

По всем вопросам @evgenycarter

РКН clck.ru/3Ko7Hq
Download Telegram
Подборка ВСЕХ наиболее известных алгоритмов, реализованных на Python

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

https://github.com/TheAlgorithms/Python

@BookPython
👍7
Консистентность в конкуретной среде: как не захлебнуться в потоках данных

В прошлой статье я рассказал о конкурентной среде в Точке и типовых проблемах, с которыми сталкиваются разработчики. В этот раз речь пойдёт о том, как же можно эту консистентность реализовать и какие злые силы нам могут помешать это сделать. Решил больше не делить статьи на части, поэтому продолжение вот в этой большой статье, всё в одном месте.

Напомню, что текст рассчитан в первую очередь на разработчиков, которые имеют мало практического опыта работы в конкурентной и/или микросервисной среде, поэтому многие вещи я объясню на пальцах. Для тех, кто захочет ознакомиться с более строгими формулировками, сразу скажу, что здесь будут затронуты упрощённые идеи паттернов Transactional Outbox и Saga.

https://habr.com/ru/company/tochka/blog/725722/

@BookPython
👍2
Скрапирование веб-сайта с помощью Python и Selenium: Краткое руководство

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

Основными областями применения веб-скреппинга являются ценовая разведка, лидогенерация и маркетинговые исследования. В основном веб-скреппинг практикуется компаниями, которые разрабатывают свои маркетинговые стратегии и стратегии развития на основе огромного количества веб-данных.

Итак, разобравшись с тем, что такое веб-скрейпинг и почему он полезен, давайте посмотрим, как можно перемещаться по нескольким страницам сайта и собирать многочисленные данные с помощью Selenium в Python.

https://hackernoon.com/scraping-a-website-with-python-and-selenium-a-how-to-guide-px5k3380

@BookPython
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Пора забывать GridSearch — встречайте ProgressiveGridSearch. Фракталы в ML, постепенно увеличиваем разрешение

Здравствуйте, меня зовут Николай Стрекопытов и я придумал как подбирать гиперпараметры бескомпромиссно лучше GridSearch’а. Нужно лишь изменить порядок вычислений. И да, это заявка на обновление индустриального стандарта - скоро вы сможете улучшить свои ML-пайплайны заменой нескольких строчек кода.

Сначала коротко

Разберем как проводит вычисления GridSearch, а как ProgressiveGridSearch. Первый перебирает все возможные комбинации стандартным вложенным циклом, то есть если нужно перебрать элементы матрицы, то первый алгоритм сначала переберет все столбцы по первой строке и только после приступит ко второй строке, то есть это просто брутфорс. Я предлагаю действовать разумнее. Постепенно увеличивать разрешение вычислений, то есть сначала получить представление о функции крупным мазками по всему диапазону, затем средними мазками, а дальше мелкими и так далее до останова (такой подход дает возможность адекватно приближать функцию в невычисленных узлах).

https://habr.com/ru/articles/726222/

@BookPython
👍5
Быстрее, больше, сильнее: фреймворки Python с параллельной обработкой данных

Многие разработчики любят Python за простоту и удобство, но вот быстротой обработки данных этот язык программирования никогда не отличался. Во многом эти ограничения скорости связаны с его эталонной реализацией cPython, которая является однопоточной.

И хотя в Python есть встроенный модуль потоковой обработки, его использование даст нам только параллелизм. Это не поможет ускорить несколько задач, каждая из которых требует полной загрузки ЦП.

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

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

https://habr.com/ru/companies/first/articles/724776/

@BookPython
👍3
REST API на основе Snake (Python, Mamba, Hydra и Fast API)

Сегодня я хочу попробовать что-то новое и начну исследовать мир Python. В этой статье представлен пошаговый туториал по реализации простого REST API при помощи Python, Fast API, Hydra и Mamba. Более того, я вкратце опишу, как упаковать всех этих змей в один образ Docker и заставить их работать вместе. Весь код выложен на моём GitHub.

Давайте начнём с кратного объяснения того, почему я решил выбрать эту тему.

Rus https://habr.com/ru/companies/ruvds/articles/685302/

Eng https://dzone.com/articles/snake-based-rest-api

@BookPython
👍8
Создаем прогресс-бар на Python

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

https://www.geeksveda.com/python-progress-bar/

@BookPython
👍3
250+ советов по Python и Data Science, охватывающих Pandas, NumPy, основы ML, Sklearn, Jupyter и многое другое.

https://medium.datadriveninvestor.com/250-python-and-data-science-tips-covering-pandas-numpy-ml-basics-sklearn-jupyter-and-more-e33074b92d58

@BookPython
👍6
Machine Learning Pocket Reference
Working with Structured Data in Python

Matt Harrison (2019)

Книга идеально подходящая для программистов, аналитиков данных и инженеров искусственного интеллекта, содержит обзор процесса машинного обучения и знакомит вас с классификацией структурированных данных. В книге рассматриваются различные библиотеки и модели, их компромиссы, настройка и интерпретация. Кроме всего прочего вы изучите методы кластеризации, регрессии и уменьшения размерности. При использовании книги "Машинное обучение: карманный справочник" предполагается знание языка программирования Python. В книге демонстрируется, как использовать различные вспомогательные библиотеки Python для решения реальных задач МО.

Скачать

👉 @python_360
👍1
Предварительная обработка данных с помощью библиотеки Pandas (Задача)

В современном мире большинство бизнес-процессов связаны с обработкой больших объемов данных, получаемых от различных источников. Часто эти данные содержат ошибки, дубликаты и пропуски, что может привести к неверным выводам и решениям. Одним из инструментов, которые позволяют очистить и преобразовать данные, является библиотека pandas для языка программирования Python.

Я собираюсь рассмотреть задачу по очистке данных с помощью pandas. Для этого возьмем данные, содержащие дубликаты строк, неправильные типы данных, пропуски и отрицательные значения. Затем я буду использовать функциональные возможности pandas для очистки и преобразования этих данных в форму, пригодную для дальнейшего анализа.

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

Задача: Необходимо очистить данные о продажах компании за последние несколько лет с помощью библиотеки Pandas.

https://habr.com/ru/articles/727228/

@BookPython
👍4🔥1
Messaging для чайников. Утилизируем все возможности RabbitMQ на Python

Всем привет! Буквально недавно мне пришлось изучить всю официальную документацию RabbitMQ и множество статей разного качества на тему разных видов маршрутизации в этом брокере.

Оказалось, что материала на эту тему много, но он либо объясняет совсем базовые случаи, либо уходит в такие дебри, которые крайне далеки и тяжелы для человека, который хочет "просто разобраться".

Простых и понятных примеров на Python тоже мало, так как они заставляют вас вникать в код библиотеки, а не особенности RabbitMQ. Для человека, который видит что-то pika-подобное первый раз, это может быть испытанием.

Поэтому я и решил написать эту статью: она нацелена на "чайников" - вы легко можете показать ее вашим джунам, и этого уже должно быть достаточно для начала работы с RabbitMQ.

https://habr.com/ru/articles/743192/

@BookPython
👍4
Python NumPy for Beginners: NumPy Specialization for Data Science
Автор: AI Publishing (2022)

Эта книга представляет вам практический и простой подход к быстрому изучению Python и NumPy. Эта книга отличается от других, поскольку вам предстоит не просто читать, а многое делать. За каждой теоретической концепцией следуют практические примеры, что облегчает ее освоение.
Пошаговая схема этой книги упрощает процесс обучения. Автор приложил максимум усилий для того, чтобы то, что вы узнаете, закрепилось в памяти. В конце каждой из 11 глав есть короткие упражнения для проверки ваших знаний теоретических концепций, которые вы изучили.

Скачать

👉 @python_360
👍2
Декораторы Python: пошаговое руководство

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

Декораторы в Python позволяют расширять и изменять поведение вызываемых объектов (функций, методов и классов) без постоянного изменения самого вызываемого объекта.

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

Сюда входит:
- журналирование,
- обеспечение контроля доступа и аутентификации,
- инструментарий и функции управления временем,
- ограничение скорости,
- кэширование и многое другое.

Rus https://habr.com/ru/companies/otus/articles/727590/

Eng https://dbader.org/blog/python-decorators

@BookPython
👍3
Нейронная сеть с нуля

Нейронные сети все больше доминируют в области машинного обучения / искусственного интеллекта: самые сложные модели для компьютерного зрения (например, CLIP), обработки естественного языка (например, GPT-3), перевода (например, Google Translate) и многое другое основано на нейронных сетях. Когда эти искусственные нейронные сети достигают некоторого произвольного порога количества нейронов, мы называем это глубоким обучением.

https://sirupsen.com/napkin/neural-net#ok-so-you-just-implemented-the-most-complicated-average-function-ive-ever-seen

@BookPython
👍1
Пишем приложение на Python для интерактивной визуализации графов с NetworkX, Plotly и Dash

Говорят, хорошая визуализация данных лучше тысячи слов о них, и с этим трудно спорить.

Эта статья посвящена написанию приложения на Python для интерактивной визуализации графов. В первой части представлен краткий обзор использованных средств и библиотек, а также свойства приложения. Во второй половине — технические детали, касающиеся использования NetworkX, Plotly и Dash, и собственно код.

Rus https://habr.com/ru/articles/728256/

Eng https://towardsdatascience.com/python-interactive-network-visualization-using-networkx-plotly-and-dash-e44749161ed7

@BookPython
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
9 библиотек Python для разработки игр

Разработка игр на Python — это не только PyGame, Tower Defense и платформеры, а это и DOOM, и MMORPG, и симуляторы свиданий/отношений, и визуальные новеллы, и конкурсы DARPA, и моделирование вселенной, и автотрекинг низкоорбитальных спутников.

Под катом список 9 библиотек для разработки игр и полезные гайды к каждой библиотеке.

https://habr.com/ru/post/645041/

@BookPython
👍3👏2🤔1
Создание изображения в Python

PIL - это библиотека Python Imaging Library, предоставляющая интерпретатору python возможности редактирования изображений.
Метод PIL.Image.new() создает новое изображение с заданным режимом и размером. Размер задается в виде кортежа (ширина, высота) в пикселях. Цвет задается в виде единичного значения для однополосных изображений и кортежа для многополосных (по одному значению для каждой полосы).
Можно также использовать имена цветов. Если аргумент color опущен, то изображение заполняется нулем (обычно это соответствует черному цвету). Если цвет равен None, то изображение не инициализируется. Это может быть полезно, если вы собираетесь вставлять или рисовать что-либо на изображении.

# Imports PIL module
import PIL

# creating a image object (new image object) with
# RGB mode and size 200x200
im = PIL.Image.new(mode="RGB", size=(200, 200))

# This method will show image in any image viewer
im.show()


https://www.geeksforgeeks.org/python-pil-image-new-method/

@BookPython
👍21
Full Stack Django and React: Get hands-on experience in full-stack web development with Python, React, and AWS
Автор: Kolawole Mangabo (2023)

Разработчикам Django часто приходится прибегать к помощи front-end разработчиков для создания клиентских решений для своих веб-приложений. Объединяя возможности React и Django, эта книга создает полный путь обучения, позволяющий в кратчайшие сроки пройти путь от бэкенд-разработчика до разработчика полного стека. Эта книга поможет вам использовать React для создания самых современных макетов пользовательского интерфейса и Django для создания безупречного бэкенда.

Скачать

👉 @python_360
👍51
Функциональное программирование в Python: ежедневные рецепты

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

В своей команде — команде разработки инструментов для разработчиков под KasperskyOS — мы создаем разные интересные консольные утилиты, эмулятор, обеспечиваем интеграцию с IDE и так далее. И для этого мы используем разные языки — C++, C, TypeScript; но больше всего пишем на Python.

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

https://habr.com/ru/companies/kaspersky/articles/762788/

@BookPython
👍2
Год ожиданий — и мы получили Python 3.12. Изменения, новшества и дополнения

Новую версию Python многие разработчики ожидали с нетерпением. Кто-то и не ждал, поскольку вполне достаточно было возможностей прежней версии. Но Python 3.12 таки выпустили, сейчас стало известно, что эту ветку будут поддерживать полтора года, а потом для нее станут формировать исправления для устранения уязвимостей — в течение еще трех с половиной лет.

Кроме того, запущен процесс альфа-тестирования Python 3.13, где заявлен режим сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock). Тестировать ветку будут в течение семи месяцев, исправляя ошибки и добавляя новые возможности. Затем еще три месяца — тестирование бета-версий и еще через два месяца появится пред-финальная версия. Но будет потом, а сейчас поговорим о том, что уже есть в руках — о Python 3.12.

https://habr.com/ru/companies/selectel/articles/761914/

@BookPython
👍10