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

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

РКН clck.ru/3Ko7Hq
Download Telegram
Алгоритмы и структуры данных на Python с примерами кода + видео.

Алгоритм Кнута-Морриса-Пратта (КМП-алгоритм) | Алгоритмы на Python
Алгоритм Бойера-Мура-Хорспула | Алгоритмы на Python
Алгоритм Дейкстры (Dijkstra’s algorithm) | Алгоритмы на Python
Алгоритм Флойда (Floyd’s algorithm) | Алгоритмы на Python
Алгоритм Форда-Фалкерсона | Алгоритмы на Python
Алгоритм Краскала (Kruskal’s algorithm) | Алгоритмы на Python
Алгоритм Прима (ближайшего соседа) | Алгоритмы на Python
Сортировка выбором | Алгоритмы на Python
Сортировка вставками | Алгоритмы на Python
Сортировка пузырьком (метод всплывающего пузырька) | Алгоритмы на Python
Слияние двух упорядоченных списков | Алгоритмы на Python
Быстрая сортировка слиянием (merge sort) | Алгоритмы на Python
Быстрая сортировка Хоара | Алгоритмы на Python
Стек типа LIFO (Last-In-First-Out) | Алгоритмы на Python
Делаем очередь (queue) | Алгоритмы на Python

https://bookflow.ru/algoritmy-i-struktury-dannyh-na-python/

@BookPython
👍14🔥1
Управление производительностью с Python 3.12

В Python 3.12 появилась поддержка perf profiling. В этой статье увидим, как это помогает сократить время выполнения Python-скрипта с 36 секунд до 0,8. Мы рассмотрим Linux-инструмент perf, графики Flame Graph, посмотрим на дизассемблированный код и займемся поиском ошибок. Код из статьи можно посмотреть здесь.

https://www.petermcconnell.com/posts/perf_eng_with_py12/

@BookPython
👍9🔥4
Привязки Python для оптимизации производительности

В статье описываются методы ускорения кодовой базы Python путем раскрытия распараллеленных функций C++ с помощью PyBind. Затем анализируются результаты оптимизации, в ходе которой распараллеливание одной 40-строчной функции в 700-строчной программе дало до 3-кратного сквозного ускорения.

https://alexhagiopol.github.io/posts/2023/01/python-bindings/

@BookPython
👍8
Линейная алгебра в Python: обратные матрицы и метод наименьших квадратов.

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

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

https://realpython.com/python-linear-algebra/

@BookPython
👍5
5 лайфхаков Python, которые сделают ваш код более читабельным и элегантным

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

1. Избегайте вложенных циклов с помощью product
2. Оператор морж (:=) или способ записывать данные в переменную о котором вы не знали
3. Самый легкий способ мерджить словари
4. Используем * для мерджа списка, кортежа и множества в одну строчку
5. Используем встроенные функции в Python для написания стандартной логики

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

Eng https://medium.com/techtofreedom/9-fabulous-python-tricks-that-make-your-code-more-elegant-bf01a6294908

@BookPython
👍5
Подборка CMS

django-cms - Корпоративная CMS с открытым исходным кодом на основе Django.
feincms - Одна из самых продвинутых систем управления контентом, построенная на Django.
indico - Многофункциональная система управления событиями, созданная в CERN.
Kotti - Высокоуровневый питонический фреймворк для веб-приложений, построенный на Pyramid.
mezzanine - Мощная, последовательная и гибкая платформа управления контентом.
plone - CMS, построенная на базе открытого сервера приложений Zope.
quokka - Гибкая, расширяемая, небольшая CMS на базе Flask и MongoDB.
wagtail - Система управления контентом на основе Django.

@BookPython
👍71🔥1
Протоколы в Python

В Python 3.8. появилась новая примечательная возможность — протоколы (protocols). Протоколы — это альтернатива абстрактным базовым классам (abstract base classes, ABC). Они позволяют пользоваться структурной подтипизацией (structural subtyping), то есть — осуществлять проверку совместимости классов исключительно на основе анализа их атрибутов и методов. В этом материале мы поговорим о протоколах в Python и разберём практические примеры работы с ними.

Rus https://habr.com/ru/companies/wunderfund/articles/751424/

Eng https://towardsdatascience.com/protocols-in-python-110943832d98

@BookPython
👍5
Python backend

Python - Архитектура кода
Python - Базы данных и миграции
Python - Тестирование
Python - Тестирование
Нагрузочное тестирование
Нагрузочное тестирование (лайвкодинг)
Девопс, деплой, CI/CD. Часть 1
Девопс, деплой, CI/CD. Часть 2
Архитектура распределенных систем
Python - Дебаг - логирование - профилирование
Код-ревью
Python - Асинхронное программирование. Часть 1
Python - Асинхронное программирование. Часть 2
Отбор в IT компанию
Лекция Практики разработчиков
Интенсив по алгоритмам. Введение
Интенсив по алгоритмам. Разбор ДЗ 2

Все видео доступны на youtube

@BookPython
👍13🔥3
Как имитировать разрыв соединения с базой данных для тестирования в Django

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

Это означает, что где бы мы ни вызывали Model.objects.filter(), Model.objects.all() или connection.cursor(), операция должна завершиться неудачей.

https://neilkakkar.com/test-database-connection-django.html

@BookPython
👍4
Объект многоточие в Python

Как-то раз я наткнулся на такой фрагмент кода на Python:

class CustomException(Exception):
...


Сначала я решил, что это просто какой-то псевдокод. В Python для заполнения тела пустой функции, которая еще не реализована, обычно используется ключевое слово pass. Я подумал: «здесь указано, что далее будет больше кода, но в этом месте код сокращен, чтобы просто понять идею». Следовательно, использование ключевого слова pass означало бы, что что-то еще не реализовано. Больше я об этом не задумывался, но иногда использовал сам, чтобы объяснить коллегам определенную концепцию.

https://florian-dahlitz.de/articles/what-is-pythons-ellipsis-object

@BookPython
👍8
Личный путь и опыт в становлении Python разработчиком

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

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

Кого-то данная статься вдохновит начать свой собственный путь в разработке, а кому-то будет интересно прочитать историю успешного кейса входа и закрепления в ИТ.

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

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

@BookPython
👍8
Пишем GPT в 60 строк NumPy

В первой части мы начнём реализацию с нуля GPT всего в 60 строках numpy.
В завершающей части мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.

@BookPython
👍10
Паттерн проектирования Singleton

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

Метод new вызывается для создания экземпляра класса, перед вызовом init. На вход первым аргументом метод принимает сам класс, а возвращать должен уже экземпляр (даже можно экземпляр и другого класса).

В примере мы проверяем, есть ли значение у атрибута instance. Если нет, то присваиваем атрибуту экземпляр этого же класса. А если уже экземпляр создан, то просто его возвращаем.

То есть при вызове конструктора класса Singleton, будет возвращаться один и тот же объект из памяти.

👉@BookPython
👍10
Media is too big
VIEW IN TELEGRAM
Python Full Course for free 🐍

#python #tutorial #beginners
⭐️Time Stamps⭐️

#1 (00:00:00)​ Python tutorial for beginners 🐍
#2 (00:05:57​) variables ✘
#3 (00;17;38​) multiple assignment 🔠
#4 (00:20:27​) string methods 〰️
#5 (00:25:13​) type cast 💱
#6 (00:30:14​) user input ⌨️
#7 (00:36:50​) math functions 🧮
#8 (00:40:58​) string slicing ✂️
#9 (00:51:52​) if statements 🤔
#10 (00:58:19)​ logical operators 🔣
#11 (01:04:03​) while loops 🔄
#12 (01:07:31​) for loops
#13 (01:13:04​) nested loops
......

#82 (08:21:30​) new windows 🗔
#83 (08:25:32​) window tabs 📑
#84 (08:30:52​) grid 🏢
#85 (08:39:52​) progress bar 📊
#86 (08:49:48​) canvas 🖍️
#87 (09:01:18​) keyboard events ⌨️
#88 (09:05:54​) mouse events 🖱️
#89 (09:11:00​) drag & drop 👈
#90 (09:18:18​) move images w/ keys 🏎️
#91 (09:29:13​) animations 🛸
#92 (09:41:31​) multiple animations 🎞️
#93 (09:53:04​) clock program 🕒
#94 (10:01:03​) send an email 📧
#95 (10:07:37​) run with command prompt 👨‍💻
#96 (10:09:53) pip 🏗️
#97 (10:13:30) py to exe 🏃
#98 (10:17:13​) calculator program 🖩
#99 (10:31:38​) text editor program ✏️
100 (11:05:51) tic tac toe game
101 (11:26:25)​ snake game 🐍

источник

👉@BookPython
👍7