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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Регулярные выражения

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

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

Стоит обратить внимание, что не стоит перезагружать регулярки. Они достаточно прожорливы и в большинстве случаев мы сами придумываем дополнительные проблемы. К примеру для проверки мэйла достаточно данного выражения r'\S+@\S+\.\S+' (\S+ - все не пробельные символы от 1 и более).

Самая полная регулярка для решения данной задачи написана в 5558 символов, которые никто не разберет. Лучше все же использовать простой шаблон и дополнительно проверять попыткой отправить письмо.
🐍 Основы Python для менеджеров: как изучить язык программирования без особых хлопот?

Язык Python идеально подходит для автоматизации повседневных бизнес-задач. Если вы не собираетесь становиться профессиональным программистом, углубляться дебри не стоит: менеджерам своей работы хватает, потому им нужно быстро понять основы. Рассказываем как это сделать.

https://proglib.io/sh/3YLgfXEWSH
Мы тут с ребятами думаем запустить курс в виде зум и/или оффлайн-встреч, часть курса запишем с топовыми психологами, поэтому если вам интересно, ответьте на 3 вопроса в нашей форме (оринтировочно это займет 2-3 минуты)
https://forms.gle/nBJxwf9pFbYw3mNm9

В форме нет обязательных вопросов.
Стань частью международной команды инженеров 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
Асинхронное программирование

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

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