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

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

РКН clck.ru/3Ko7Hq
Download Telegram
Глубокий Анализ FastHTML

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

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

👉@BookPython
Mypy

Mypy — это статический анализатор типов для Python. Он позволяет добавить статическую типизацию в Python и выявлять ошибки, связанные с типами, на этапе компиляции.

Для использования Mypy нужно аннотировать переменные специальным синтаксисом, в примере мы указали, что функция sum_list принимает список целых чисел и возвращает целое число.

После запуска, если типы не совпадают, Mypy выдаст ошибку, как показано в примере.


👉@BookPython
Завершение программы

exit() — это функция, которая позволяет завершить выполнение программы и возвратить код возврата операционной системе.
Принимает один необязательный числовой аргумент — код возврата программы. По умолчанию это 0, что означает успешное завершение, а код возврата отличный от нуля сигнализирует об ошибке или нештатной ситуации.

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

👉@BookPython
Dramatiq

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

В этом примере мы используем библиотеку dramatiq для определения и запуска функции my_task. Функция принимает аргумент name, который используется в выводе сообщений. Затем мы отправляем задачу с аргументом 'Alice', которая выполняется асинхронно.

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

👉@BookPython
IceCream

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

В этом примере кода вывод ic| указывает на то, что это вывод от IceCream, а result: 6 — имя переменной и ее значение.

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

👉@BookPython
Geopandas

Geopandas — это библиотека для работы с геопространственными данными. Она базируется на библиотеке Pandas и интегрируется с другими инструментами геоинформатики, такими как Shapely, Fiona, PyProj.

Geopandas позволяет эффективно работать с географическими данными в виде векторных и растровых слоев.

Основные области применения:
— Картография и визуализация пространственных данных.
— Анализ и обработка данных, содержащих географическую привязку.
— Работа с геометрическими объектами: точки, линии, полигоны.
— Преобразование и проектирование геоданных.
— Пространственный анализ и геостатистика.
— Моделирование географических процессов.
— ГИС-приложения и веб-картография.

👉@BookPython
Нелокальные переменные

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

Давайте на примере рассмотрим, как нелокальная переменная работает в Python.

Для этого нам понадобится ключевое слово nonlocal.

В приведенной выше программе есть вложенная функция inner(). Для создания нелокальной переменной мы используем ключевое слово nonlocal. Функция inner() определяется внутри функции outer().

👉@BookPython
ИТ-команда Гринатома ищет опытного специалиста по машинному обучению для разработки продуктовых сервисов, связанных с обработкой естественного языка. Вам предстоит генерировать и проверять гипотезы, разрабатывать модели машинного обучения, писать тесты и взаимодействовать с командой проекта. Требуются отличные знания Python, опыт работы с DL-фреймворками, понимание принципов работы нейросетей, а также навыки работы с Linux. Будет плюсом опыт работы с системами логирования, backend-технологиями и поисковыми движками.

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

👉Узнать подробности и откликнуться можно тут: https://hh.ru/vacancy/104719493
pydoc

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

👉@BookPython
This media is not supported in your browser
VIEW IN TELEGRAM
Разыскиваются 5 действующих Python разработчиков 🔥🔥🔥
Для обучения AI-разработке!

Мы научим вас создавать и тренировать нейронные сети, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч руб в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тыс руб за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате

На интенсиве будет много практики: создадим 9 нейросетей за 1 вечер:
🧬 Оценка выброса CO2 по параметрам машины
🧬 Сегментация изображения для робота доставщика
🧬 Трекинг людей на видео
🧬 Распознавание речии другие

Ведущий интенсива - Senior AI-разработчик нейросетей и основатель Университета искусственного интеллекта

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

Реклама. ООО "ТЕРРА ЭЙАЙ". ИНН 9728019395.
PyBrain

PyBrain — это модульная библиотека машинного обучения для Python.
Ее цель — предложить гибкие, простые в использовании, но все же мощные алгоритмы для задач машинного обучения и разнообразные предопределенные среды для тестирования и сравнения ваших алгоритмов.

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

👉@BookPython
Dataclass

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

Преимущества dataclass перед обычными классами

1. Автоматически создает методы __init__, __repr__, __eq__ и другие методы, которые обычно приходится писать вручную.
2. Уменьшает количество шаблонного кода, что делает код более читабельным и легко поддерживаемым.
3. Позволяет указывать типы данных для атрибутов и методов класса, что упрощает отладку кода и уменьшает вероятность появления ошибок.
4. Поддерживает наследование, что позволяет создавать более сложные структуры данных.

👉@BookPython
Моржовый оператор (Walrus Operator)

Моржовый оператор (Walrus operator) — это оператор :=, введенный в версии 3.8. Он позволяет одновременно присвоить значение переменной и вернуть его.

Синтаксис выглядит так: имя_переменной := выражение. Справа вычисляется выражение и присваивается переменной слева
Переменная доступна в остальной части выражения после оператора.

Это удобно при работе с выражениями со сложными вложенными операциями. Позволяет избежать повторного вычисления.

👉@BookPython
Подборка Telegram каналов для программистов

Системное администрирование 📌

https://t.me/devops_star DevOps Star (Звезда Девопса)
https://t.me/i_linux Системный администратор
https://t.me/linuxchmod Linux
https://t.me/sys_adminos Системный Администратор
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux

1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT
https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак📌
https://t.me/Excel_lifehack

https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Eval() — это встроенная функция, которая позволяет выполнять строку кода как выражение и возвращать результат.

Eval() принимает строку в качестве аргумента и выполняет ее как код, также можно передать переменные и выражения в строку и eval() вычислит их.

Eval() также может использоваться для динамического выполнения и компиляции кода. Однако, эту функцию опасно использовать с вводом пользователя, т. к. это может привести к выполнению произвольного кода.

👉@BookPython
Библиотека cvxpy

cvxpy — эта библиотека позволяет описывать оптимизационные задачи в высокоуровневом виде и эффективно решать их с помощью численных методов.

Основные возможности cvxpy:
— Удобный синтаксис для задания целевой функции и ограничений в виде выражений Python.
— Поддержка разных типов переменных: вещественных, целочисленных, булевых.
— Возможность задания неравенств и равенств как ограничений.
— Встроенные функции для задания норм, статистических величин и других полезных выражений.
— Автоматический выбор подходящего численного решателя на основе задачи.
— Интеграция с NumPy, SciPy и другими популярными библиотеками.

cvxyp часто используется для решения задач оптимизации в машинном обучении, обработке сигналов, финансовом моделировании и других областях.

👉@BookPython
dict.get()

Метод dict.get() принимает два аргумента — ключ и значение по умолчанию, и позволяет получить значение по ключу из словаря.

Если ключ присутствует в словаре, возвращается соответствующее значение.
Если ключа нет, возвращается значение по умолчанию, вместо ошибки KeyError.

👉@BookPython
super()

super() — это встроенная функция, которая используется для вызова родительского класса. Она позволяет вызывать методы родительского класса из дочернего класса.
Это полезно при наследовании, чтобы использовать функционал базового класса.

Вызов super() ищет следующий класс в цепочке наследования и вызывает этот метод.
Функция принимает аргументы self и cls для связывания с текущим объектом и классом.

Она часто используется в методах init дочерних классов, чтобы вызвать init родителя и инициализировать его.
Использование super() позволяет избежать неявного упоминания имени базового класса в коде.

👉@BookPython
Дана входная строка s, необходимо изменить порядок слов в строке на противоположный

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

Чтобы решить данную задачу нам необходимо:
— Удалить начальные и конечные пробелы, а также уменьшить количество пробелов между словами до одного.
— Разбить строку на отдельные слова и сохранить в списке.
— Поменять порядок слов в списке на обратный с помощью метода reverse().
— Объединить слова в строку, разделенную одним пробелом, и вернуть результат.

👉@BookPython
Функция partial

Функция partial позволяет частично применить аргументы к функции и вернуть новую функцию с уже примененными аргументами.

Это удобно, когда нужно зафиксировать некоторые аргументы функции.

👉@BookPython
Faker — полезная библиотека для генерации фиктивных данных. Поддерживает не только английский язык. Для русского нужно прописать fake = Faker(«ru_Ru»)

Перед работой не забудьте сделать pip install Faker

https://faker.readthedocs.io/en/master/

👉@BookPython