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

По всем вопросам @evgenycarter
Download Telegram
Иногда 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
Принципы работы и механизм reference counting?

reference counting (подсчёт ссылок) является одним из методов автоматического управления памятью.
Принцип работы reference counting в Python следующий:

— Каждый объект имеет счетчик ссылок (reference count), который отслеживает количество ссылок на данный объект. Счетчик ссылок инициализируется значением 1 при создании объекта.
— Когда переменная ссылается на объект, счетчик ссылок этого объекта увеличивается на 1.
— Если ссылка на объект удаляется или переназначается, счетчик ссылок уменьшается на 1.
— Когда счетчик ссылок объекта становится равным нулю, он может быть безопасно освобожден из памяти. При этом вызывается деструктор объекта (если он определен).

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

👉@BookPython
Распаковка кортежа

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

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

👉@BookPython
Анализ музыкальных предпочтений с использованием аудиоаналитики на Python

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

https://habr.com/ru/companies/otus/articles/757130/

👉@BookPython
Тернарный оператор — это синтаксическая конструкция в Python, которая позволяет вам создавать более компактные условные выражения.

Тернарный оператор может быть удобным способом заменить простые if-else выражения, когда вам нужно быстро присвоить значение в зависимости от условия. Однако следует помнить, что слишком сложные выражения в тернарной форме могут ухудшить читаемость кода, поэтому стоит использовать их с умом.

👉@BookPython
Set comprehension

Set comprehension — это способ создания множества в языке программирования Python с использованием синтаксиса генератора. Он позволяет вам создать множество, применяя выражение к каждому элементу последовательности (например, списку или строки) и автоматически устраняя повторяющиеся значения.

👉@BookPython