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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Полезность модуля 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
Пришло время подвести итоги конкурса на лучший контент #proglib_contest. Искренне благодарим всех, кто принял активное участие, без вашей поддержки конкурс бы не получился.

Победителем канала Библиотека питониста становится автор поста — барабанная дробь 🥁https://t.me/pyproglib/2330.

Победитель определен по количеству лайков под постом среди других конкурсных сообщений. За победный пост автор получает 20 000 ₽. В ближайшее время мы свяжемся с победителем и отправим приз — оставайтесь на связи.

Спасибо, что читаете нас!
Learn Python Visually: Creative Coding with Processing .py (2021)
Автор: Tristan Bunn
Количество страниц: 296

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

Скачать книгу
Бесконечные списки

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

На картинке (см. выше) видно создание. А затем мы пробуем модуль copy, чтобы узнать сможет ли он сделать глубокое копирование бесконечного объекта?

Применить знание особо негде, но данное задание помогает понять работу списков. Возможно, такой вопрос задаст вам рекрутер на одном из собеседований.