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

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

РКН clck.ru/3Ko7Hq
Download Telegram
Media is too big
VIEW IN TELEGRAM
5 советов по организации кода на языке Python

00:00 | Introduction
00:26 | #1 - Use Modules and Packages
03:59 | #2 - One Class = One File
05:15 | #3 - Group Related Functionality Together
07:47 | #4 - Separate Utility & Helper Functions
09:26 | #5 - Organize Imports

@BookPython
👍7
Аналитика данных python

👉@BookPython
👍21😱31
Прогнозирование временных рядов с помощью библиотеки Skforecast

В открытом доступе существует огромное число библиотек для построения моделей машинного обучения в Python. Самые популярные — scikit-learn, XGBoost, LightGBM, Catboost, PyTorch. Каждая из них позволяет построить регрессионную модель для прогнозирования на временных рядах, но для этого требуется преобразование данных и создание новых фичей (feature engineering).

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

https://habr.com/ru/companies/mvideo/articles/771820/

👉@BookPython
👍4
Шпаргалка: fixture в pytest

В данной статье представлены примеры использования фикстур (fixture) в pytest.

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

- выполнение действий до проведения тестирования (например, настройка тестового окружения, создание тестовых данных, различные сетевые подключения, открытие файла и пр.);

- выполнение действий после проведения тестирования (например, удаление временных данных, формирование отчета, отключение сетевых подключений, закрытие файлов и пр.);

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

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

Дисклеймер: В статье продемонстрированы синтетические примеры, наполненные методом print(), это сделано только для демонстрации последовательности выполнения шагов в stdout. При создании реальных тестовых кейсов рекомендуется использовать лучшие практики и паттерны программирования и проектирования, а также применяемые стандарты при разработке программного кода.

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

👉@BookPython
👍3
Используйте метод get для доступа к элементам словаря вместо использования квадратных скобок

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

Системное администрирование 📌
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


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

https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика

https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике

https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста

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/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT

Чат программистов📌
https://t.me/developers_ru

Библиотеки 📌
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 Полезные советы по программированию

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 Канал по математике

Excel лайфхак📌
https://t.me/Excel_lifehack
👍2
PySpark для аналитика. Как правильно просить ресурсы и как понять, сколько нужно брать

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

https://habr.com/ru/companies/avito/articles/732870/

👉@BookPython
👍4
Написание простого асинхронного сервера очередей сообщений на языке Python

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

import sys, asyncio

async def handle_client(reader, writer):
print('New client connected...')
line = str()
while line.strip() != 'quit':
line = (await reader.readline()).decode('utf8')
if line.strip() == '': continue
print(f'Received: {line.strip()}')
writer.write(line.encode('utf8'))
writer.close()
print('Client disconnected...')

async def run_server(host, port):
server = await asyncio.start_server(handle_client, host, port)
print(f'Listening on {host}:{port}...')
async with server:
await server.serve_forever()

asyncio.run(run_server(host='localhost', port=int(sys.argv[1])))


https://bytepawn.com/writing-a-simple-python-async-message-queue-server.html

👉@BookPython
👍41
Решаем криптарифмы с помощью алгебры и python

Если вы увлекались математикой в возрасте до 12 лет, то, наверное, встречались с криптарифмами - числовыми ребусами.

Числовым ребусом называется корректное арифметическое выражение (обычно - равенство), часть цифр в котором заменена на буквы и звездочки. Правила просты: одинаковые буквы заменяются на одинаковые цифры, разные - на разные.

Задача - восстановить исходные цифры, получив верное равенство.

Числовые ребусы хороши для тренировки у младшеклассников навыков логического мышления и счета в столбик. Однако и взрослым программистам может быть интересно поискать ответ на общий вопрос - а как, всё таки, алгоритмизировать процесс решения ребуса?

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

👉@BookPython
👍32
Объединение PDF-файлов с помощью PyPDF2

Установите библиотеку с помощью pip.

pip install PyPDF2

Вы можете легко объединить PDF-файлы, используя приведенный ниже код. Просто замените имена в списке pdf-файлов на имена pdf-файлов, которые вы хотите объединить (если они находятся в том же каталоге, что и ваш Python-скрипт), или на ссылки на pdf-файлы.

import PyPDF2

def merge files (pdf files: list):
# Create a PDF merger obiect
pdf merger = PyPDF2.PdfFileMerger ()
# Loop through the list and append each PDF to the merger
for pdf_file in pdf_files:
pdf_merger.append(pdf_file)
# Output file for the merged PDF
output_pdf = "merged_file.pdf"
pdf_merger.write(output_pdf)
pdf_merger.close()

# List of PDF files to merge
pdf_files = ["file_1", "files_2"]

if name == " main
merge_files (pdf_files)
print("PDFs merged successfully.")

👉@BookPython
👍5
Синхронизация или асинхронность? Раскрывая тайны сигналов Django

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

https://www.mattlayman.com/blog/2023/django-signals-async/

👉@BookPython
👍6
Django API + ReactJS курс

Django API + ЛОГИН / ЛОГАУТ И ПОЛУЧЕНИЕ ПОЛЬЗОВАТЕЛЯ [часть 6]
Django API + Регистрация пользователей [часть 5]
Django API + React Js & Redux Обработка ошибок [часть 4]
Django API + React Js & Redux фронтенд [часть 3]
Django API + React Js фронтенд [часть 2]
Django API + админка с нуля [за 10 минут]

источник

👉@BookPython
👍4👎21🤮1
Telegram Django Bot за пару строк

На Хабре много статей про разработку Телеграм ботов на Python, в том числе при помощи Django. Однако, большинство из них направлено на первичное ознакомление с API Телеграм.

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

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

👉@BookPython
👍7
В новой статье Python-разработчик очень подробно и круто рассказывает про "Cancellation Token" (или "токен отмены"), который помогает безопасно и красиво завершать работу функции, треда или корутины.

Здесь вы узнаете:

Что такое токен отмены

Как отменить токен или узнать его состояние

Немного о видах токенов

Как вложить токены друг в друга и сложить их

И немного кейсов

Так что всех заинтересованных милости просим на Хабр

👉@BookPython
🔥2👍1
Две мощных возможности Python, упрощающие код и улучшающие его читабельность

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

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

В этом материале мы рассмотрим две таких возможности: оператор match и создание срезов строк и списков. Мы подробно разберёмся с тем, как работают эти механизмы, а так же изучим несколько примеров, которые позволят вам познакомиться с синтаксисом и семантикой соответствующих конструкций.

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

Eng https://towardsdatascience.com/two-powerful-python-features-to-streamline-your-code-and-make-it-more-readable-51240f11d1a

👉@BookPython
👍3