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

По всем вопросам @evgenycarter
Download Telegram
Модуль pathlib в Python замечательный, но есть одна особенность pathlib, на которой я часто спотыкаюсь.

Нужен абсолютный путь?

Не используйте метод absolute:

>>> Path("..").absolute()
PosixPath('/home/trey/..')

Use the resolve method:

>>> Path("..").resolve()
PosixPath('/home')



👉@BookPython
Совет по Python💡

С помощью "pathlib" вы можете получить доступ к различным частям пути, таким как имя файла, расширение и родительский каталог. Это позволяет легко манипулировать и анализировать пути к файлам.

👉@BookPython
Создание и обработка Excel файлов с использованием Python

Всем привет! Работа с Excel файлами — одна из частых задач, встречающихся в повседневной разработке. В этой статье рассмотрим, как с помощью Python можно создавать, заполнять, и стилизовать Excel файлы. Для этого мы будем использовать библиотеки pandas, openpyxl и faker (для тестов).

Для начала установим библиотеки:
pip install pandas xlsxwriter openpyxl faker

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

👉@BookPython
Совет по Python💡

f-строки - самый популярный способ форматирования строк.
Знаете ли вы, что они могут не только выводить значения переменных?

Например, в них можно выполнить выражение или вызвать функцию.

👉@BookPython
Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

Плюс в питоне есть немало регулярных плюшек. Например, re.split может добавлять тот кусок текста, по которому был разрез, в список частей. А в re.sub можно вместо шаблона для замены передать функцию. Это — реальные вещи, которые прямо очень нужны, но никто про это не пишет.
Так и родился этот достаточно многобуквенный материал с подробностями, тонкостями, картинками и задачами.

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

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

👉@BookPython
Иногда Pytest поражает меня.

TIL pytest позволяет очень просто добавить что-то в переменную окружения PATH для теста:

👉@BookPython
⌨️ Основы Python

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

https://education.yandex.ru/handbook/python

👉@BookPython
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Python💡

Не используйте pip freeze > requirements.txt.
В итоге вы получите десятки зависимостей, которые вы специально не устанавливали и не знаете, что они делают.

Вместо этого добавьте требование вручную в файл requirements.txt.

Сравните их ☝️

👉@BookPython
Совет по Python💡

В файле "pathlib.mkdir()" задайте "parents=True", чтобы создать все необходимые промежуточные каталоги.

Установите "exist_ok=True", чтобы избежать ошибки, если каталог уже существует.

👉@BookPython
Подборка 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
Совет по Django💡

Если вы хотите создать в шаблоне кликабельную ссылку, используйте тег "urlize", чтобы не выводить один и тот же текст дважды (один раз для тега <a> и один раз для текста).

👉@BookPython
Совет Django💡

Если вы хотите отобразить альтернативный текст, когда переменная не имеет значения, используйте тег "default" вместо "if".

👉@BookPython
Совет по Python💡

Используйте "Path.cwd", чтобы получить текущий рабочий каталог.

👉@BookPython
Безопасность в Django: защита от распространенных угроз веб-приложений

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

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

https://habr.com/ru/companies/vk/articles/823740/

👉@BookPython
Паттерн проектирования «Стратегия»

«Стратегия» (Strategy) является одним из шаблонов поведения, определенных в книге «Банды четырёх» (Gang of Four, GoF). Этот паттерн относится к категории поведенческих паттернов и решает задачу определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет клиентскому коду выбирать нужный алгоритм независимо от его использования.

Основная идея паттерна «Стратегия» заключается в выделении алгоритмов в отдельные классы (стратегии) и предоставлении клиентскому коду возможности выбирать и подменять эти стратегии без изменения самого клиентского кода. Таким образом, паттерн способствует легкости поддержки, расширения и внесения изменений в систему.

👉@BookPython
Сканер отпечатков кошачьих носиков

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

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

https://habr.com/ru/companies/timeweb/articles/804151/

👉@BookPython
Расстояние Левенштейна

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

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

👉@BookPython
Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

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

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

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

👉 @bookpython
Отрицательные индексы

В Python можно использовать отрицательные индексы для обращения к элементам последовательностей (например, строк, списков, кортежей) с конца. Положительные индексы начинаются с 0 для первого элемента, 1 для второго и так далее. Отрицательные индексы начинаются с -1 для последнего элемента, -2 для предпоследнего и так далее.

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

👉@BookPython