Библиотека питониста | Python, Django, Flask
40.4K subscribers
2.79K photos
75 videos
51 files
4.37K links
Все самое полезное для питониста в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Курс по ML: https://cl

Для обратной связи: @proglibrary_feeedback_bot

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
加入频道
Стань частью международной команды инженеров Intel, которые разрабатывают технологии, меняющие мир.
Ты получишь опыт работы с большим количеством современных инструментов и технических решений.
Узнай больше о вакансии DevOps Engineer (Integration, Computer Vision) по ссылке: http://career.intel.com/tp/rj6-3PauJ-e_K
Black Hat Python (2021)
Авторы: Justin Seitz, Tim Arnold
Количество страниц: 216

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

Скачать книгу
Math Adventures with Python (2019)
Автор: Peter Farrell
Количество страниц: 304

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

Скачать книгу
Полезность модуля math

Сложно переоценить пользу модуля math, если имеешь дело с какими-либо математическими функциями. Модуль представляет собой обширный функционал для работы с числами.

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

Модуль math обеспечивает доступ к некоторым популярным математическим функциям и константам, к тому же он является встроенным (не нужно делать установку через pip).
Вычисление выражений Python

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

Между прочим, данная фича находится в языке уже очень давно.
Обработка строки

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

Перечислим наиболее полезные методы:

capitalize() - первая буква большая, остальные маленькие
strip() - удаление пробелов в начале и конце
center(int, chr='') - отцентрирует текст, int - нужное кол-во символов в строке, а chr - символ для добавления в начало и конец
swapcase() - заглавные буквы в прописные, маленькие в большие
lower() - преобразует к нижнему регистру
upper() - преобразует к верхнему регистру

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

Вы можете обрабатывать ввод от пользователя потоком. В таком случае для завершения надо воспользоваться специальной "командой" на Windows — Ctrl + D. Запустить потоковый ввод можно через библиотеку sys и метод stdin.

Если требуется получить и тут же обработать строку, то так и пишем: sys.stdin

Если надо в начале прочитать весь потоковый ввод, а затем обработать, то sys.stdin.readlines()

На картинке представлено 2 варианта.

#proglib_contest
Подходит к концу эпический конкурс на самый интересный контент в телеграм-каналах Библиотеки программиста. Посты собирают всё больше откликов — спасибо за ваши старания!

У всех, кто хотел поучаствовать, остался последний шанс побороться за 20 000 ₽ в каждом из каналов: @progbook, @proglibrary, @pyproglib, @frontendproglib, @javaproglib, @dsproglib, @phpproglib, @cppproglib, @mobileproglib, @goproglib, @csharpproglib, @devopsslib, @testerlib, @hackproglib. Общий призовой фонд 280 000 ₽.

До полуночи примем последние посты — в некоторых каналах шансы на победу всё ещё высокие. Лайфхак: эти каналы нетрудно вычислить по хэштегу #proglib_contest 😉.

Напоминаем, как участвовать: пишем анонс до 700 знаков к любой актуальной айтишной статье 2020-21 годов или рецензию книги для @progbook. Отправляем получившийся текст и название канала боту @proglib_contest_bot. Чей пост в канале наберёт больше откликов, тот и выиграл.

Через три дня подведем итоги и огласим список победителей. Юридическая информация: https://proglib.io/best-post-contest.
👍1
Разыскивается product owner!
ВТБ ищет профессионала для управления новыми сервисами и продуктами: от создания и тестирования до запуска и эффективного развития.
Что нужно от тебя: подтвержденный опыт разработки продукта, понимание современных гибких методологий IT-разработки, знания в области CusDev, JTBD и других глубинных исследований.
Что гарантирует ВТБ: идеальный микс свободы действий как в стартапе и надежности крупного банка.
Подробнее о вакансии: https://www.vtbcareer.com/vacancy/789086/
Библиотека colorama

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

Библиотеку надо установить:

pip install colorama

Colorama позволяет изменять сам цвет текста, а так же его фон и стиль цвета. На картинке мы не можем показать изменение фона, но вы можете опробовать сами.
Библиотека FuzzyWuzzy

Интересная и полезная библиотека поиска совпадений в тексте. Очень поможет вам при работе над общающимися ботами: голосовыми или текстовыми помощниками.

Разумеется, это один из инструментов, всегда можно использовать другой, но я лично пользуюсь этим.

Библиотеку следует установить:

pip install fuzzywuzzy

Несколько примеров работы библиотеки на картинке.
Тестировщик ПО - это не просто одна из самых простых и доходных профессий для новичка в IT. Здесь вы сможете напрямую влиять на продукт, находить баги и ошибки и писать документацию. По сути, от вас будет зависеть то, насколько удобным будет продукт для пользователя.

На факультете «Тестирование ПО» от GeekBrains вы освоите профессию тестировщика с нуля. За год обучения получите все навыки вы получите всё для старта карьеры: навыки ручного тестирования, практику автоматизации на Java и опыт работы с веб-приложениями.

Кстати, на факультете не только научат новой профессии, но и помогут начать карьеру — студентов курируют HR-специалисты GeekBrains

Ворваться в IT можно уже сейчас со скидкой на обучение в 45% → https://gb.ru/link/8O5Z8I
Асинхронное программирование

Обычно мы пишем синхронный код - выполняется по порядку один за другим. Но иногда требуется, чтобы выполнялось несколько задач одновременно. К примеру, пока копируются файлы можно было поиграть в игру. Это возможно благодаря нескольким ядрам и потокам. ВАЖНО! Асинхронность не обязательно делает код быстрее, но может повысить его эффективность. В момент простаивания процессор будет переключаться на другие задачи.

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

Очень важная тема, с помощью декорирования можно писать очень удобные логи или существенно расширять функции.

Многие библиотеки работают с использованием декораторов: Flask и aiogram хорошие тому примеры.

Мы показываем лишь простой пример, возможности куда шире. Позже покажем пример использования с упоминаемыми выше библиотеками.
Распаковка

Неудобно каждый раз для вывода объединять строки через join() или тем более как-то объединять числа. Мы можем распаковать кортеж или список, воспользовавшись звездочкой *. Со словарями данный способ не работает.

На самом деле применение более широкое. Звездочка может также собирать несколько значений в одну переменную. Очень удобно применять для функций с бесконечным количеством аргументов или только с именованными аргументами.
👨🏻‍💻Middle Python Developer, Serpstat, удалённо или в офис, Одесса, Киев

О компании:
🔸В команду Serpstat (международный HighLoad проект) ищем Middle Python Developer.
🔸Технологии, которые используем в компании: Python3, PostgreSQL, Scrappy, ElasticSearch, Rabbitmq.
🔸Serpstat — это 245 000+ пользователей, продукт представлен в 230 странах, базы данных Google для всех стран, 230 баз ключевиков, более 300 серверов, больше 250 Тб данных.

Что мы ожидаем от Вас:
🔸Опыт разработки на Python от 2 лет.
🔸Знание и понимание принципов ООП.
🔸Опыт проектирования баз данных и оптимизация запросов.
🔸Опыт разработки асинхронных приложений.
🔸Опыт проектирования и разработки data pipeline.
🔸Знание Unix систем.

Что мы готовы предложить:
🔸Удобный график: с 8-10 до 17-19
🔸Зарплата по итогам собеседования.
🔸Возможность работать в офисе в Одессе, Киеве, или полностью удаленно.
🔸Оплачиваемые больничные и отпуск.
🔸Посещение профильных конференции за счет компании (мы оплачиваем 50% стоимости билета на мероприятие и проезда), а также участие в конференциях и семинарах организаторами которых является Netpeak Group.
🔸Возможность обучения и развития: опыт и помощь наших сотрудников, помощь в профессиональной адаптации и обучение куратора на протяжении всего испытательного срока.
🔸Карьерную лестницу и карту знаний, которые дают прозрачное понимание того, что надо сделать, чтобы перейти на новую ступеньку.

Подробности вакансии: https://career.netpeak.group/vacancy/middle-python-developer/
Контакт: @twen_netpeak
Выполнить строку - eval()

Говорят, каждый программист должен написать калькулятор. Но если вы python разработчик, то вы можете сделать это в одну строчку:

Что за eval и почему это работает?
eval() создана чтобы выполнять выражения и функции, обязательно возвращая какой-то результат. Так можно облегчить написание кода, принимая строкой словари, списки.

Единственное, что не умеет eval - присваивать что-то переменным. Зато она может их использовать!

Правильное применение функции сильно упростит вам жизнь.
В этом пошаговом проекте мы создадим инструмент массового переименования файлов с использованием Python и pathlib для управления процессом переименования файлов.

https://proglib.io/w/da640354