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

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

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

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

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

Модуль functools позволяет хорошо раскрыть функциональные возможности Python. Например, в functools есть интересная функция reduce, которая позволяет «сжимать» данные, применяя последовательно функцию и запоминая результат.

Таким образом, в примере выше reduce умножает 1 на 2, затем результат этого умножения на 3 и так далее.

#функции #reduce
Немного про цифры и юникод

0, 1, 2, 3, 4, 5, 6, 7, 8, 9 – не единственные символы, которые считаются цифрами. Python следует правилам Юникода и обрабатывает несколько сотен символов как цифры, полный список вот здесь.

Это влияет на такие функции, как int, unicode.isdecimal и даже re.match. Предупрежден – значит вооружен.

#числа #юникод
Продолжаем конкурс на самый интересный контент в телеграм-каналах Proglib!
Призовой фонд — 280 тысяч рублей.
Срок окончания конкурса -- 15 мая

Автор лучшего поста в отдельно взятом канале получает 20 тысяч рублей.
Мы упростили конкурс — теперь вам достаточно найти интересную и актуальную статью 2020-2021 года, написать к ней небольшой анонс (до 700 знаков) и прислать нам, тем не менее ваши идеи по другим форматам только добавляют + в общий зачет. Авторство можем указать по вашему желанию. В канале @progbook предлагаем отправлять рецензии на новые книги и старые актуальные.

Полный список каналов:
https://t.me/progbook
https://t.me/proglibrary
https://t.me/pyproglib
https://t.me/frontendproglib
https://t.me/javaproglib
https://t.me/dsproglib
https://t.me/phpproglib
https://t.me/cppproglib
https://t.me/mobileproglib
https://t.me/goproglib
https://t.me/csharpproglib
https://t.me/devopsslib
https://t.me/testerlib
https://t.me/hackproglib

Все посты будут с лайками и дизлайками и хэштегом #proglib_contest. Ссылки мы будем прогонять через наш сокращатель, будут браться в расчет лайки, дизлайки, охваты, клики по ссылкам. Выиграет тот кто наберёт больше всего лайков/охватов/кликов по ссылкам в публикации. Присылайте посты боту @proglib_contest_bot с указанием, на какой канал идет публикация. Юридическая информация здесь.
👍1🤔1
​​Не используйте обработку исключений слишком часто

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

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

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

#совет #исключения
Запрос пароля у пользователя 

Множеству инструментов командной строки или скриптов для работы требуется имя пользователя и пароль. Если вам придётся писать подобную программу – вы, возможно, сочтёте полезным модуль getpass.

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

#трюки #модули
За последнее время интерес к NFT-токенам стремительно увеличивается. Вы наверное слышали о таких крупных сделках, как картина Бенкси, портрет Сноудена или токен Нурмагомедова? Кажется, мода на цифровое искусство только набирает обороты, а тут кто первый, тот и выиграл.

Являясь медиа об IT, «Библиотека программиста» просто не могла пройти мимо тренда и решила внести свой вклад в развитие блокчейн-технологий и цифрового искусства. Любой желающий может приобрести первую статью на сайте, которая имеет более 470 000 просмотров.
Цена лота от 1 Ethereum, торги продлятся 3 недели.
Узнать больше можно по ссылке.
Работаете тестировщиком и хотите вырасти как QA-инженер? Получить крутой навык, расширить экспертизу и повысить доход?

Тогда приходите на курс по автоматизации тестирования на Python от GeekBrains. Научитесь запускать автотесты, настраивать рутину и следить за качеством продукта еще быстрее и эффективнее.

В учебной программе — основы языка Python, работа с библиотекой Selenium и фреймворком PyTest, основы Git, HTML/CSS, рабочая станция Linux, проектирование и создание баз данных.

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

Записывайтесь по ссылке и получите скидку 45% → https://gb.ru/link/RIv0vp
Библиотека schedule

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

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

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

install schedule

В примере используется seconds, но можно использовать minutes, hour, day.at("8:00"), monday, minute.at(":17"). Если добавлять at, то указываем во сколько именно произойдет событие. Подробнее в документации.
Обсуждение с Reddit: Какие рутинные задачи вы автоматизируете с помощью программ на Python?

https://proglib.io/w/d74bda89
Learning Scientific Programming with Python (2020)
Автор: Christian Hill
Количество страниц: 462

Студенты и исследователи все чаще обращаются к мощному языку программирования Python в качестве альтернативы коммерческим пакетам. Автор книги быстро переходит от основ к продвинутым концепциям, позволяя читателям быстро овладеть навыками. Начиная с общих концепций программирования, таких как циклы и функции в Python 3, и переходя к библиотекам NumPy, SciPy и Matplotlib для числового программирования и визуализации данных, в этом учебнике также обсуждается использование ноутбуков IPython для создания материалов, которые можно использовать совместно.

Скачать книгу
Разработчикам вход воспрещён: python для инженеров

Инженеру нужен не только bash, да вы и сами в курсе. Наверняка в закладках пара курсов по основам python, может и книжку Марка Лутца купили 💪.

На курсе «Python для инженеров» от учебного центра Слёрм вы НЕ будете решать абстрактные задачки вроде: переверните список, не используя reverse() 🥶. В нашей практике только то, что применимо в работе, пример: написать модуль управления правами для ansible.

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

Первый поток стартует с 7 июня, места ограничены, так что велком. Цена курса 30к, в рассрочку на 4 месяца 7,5к.
Посмотреть программу: https://slurm.club/2QHpaaK
Numerical Methods in Physics with Python (2020)
Автор: Alex Gezerlis
Количество страниц: 604

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

Скачать книгу
1
Вы профи в своём деле? Мы хорошо за это заплатим. Ищем экспертов для проведения мероприятия в Москве 22 и 23 мая. Темы следующие:

- Архитектура программного обеспечения
- Подходы к решению алгоритмических задач с собеседований Google и Яндекс
- Базы данных: модели, миграции, тестирование
- Практикум по рефакторингу

За один день платим от 20 до 30 тыс. ₽ (в зависимости от опыта и вовлеченности). Отклики с резюме кидайте сюда: @proglib_expert_bot
Красивый вывод

Мы очень часто отлаживаем код и пользуемся функцией print. Вывод в одну строку не всегда удобен. К примеру, когда мы делаем запрос серверу и получаем огромный json.

Встроенный модуль pprint поможет нам навести красоту. С каждым новым вложением он делает дополнительный отступ и вывод всегда радует глаз.
Вот параметры, которые принимает pprint.pprint:

object - объект форматирования,
stream=None - поток форматированного вывода,
indent=1 - отступ последующего уровня вложенности,
width=80 - ширина экрана печати,
depth=None - показывать уровней вложенности,
compact=False - компактное форматирование,
sort_dicts=True - сортировка словаря перед форматированием,

Мы даже можем переопределить стандартную функцию print написав print = pprint.pprint

Выше приведен пример кода. Вы можете самостоятельно поэкспериментировать с модулем.
Explicit Conversion Flag

Флаг явного преобразования используется для преобразования значения поля format перед его непосредственным форматированием.

Это поле можно использовать для переопределения поведения format для какого либо конкретного типа и форматирования значения. В настоящее время распространены два явных флага преобразования:

!r – преобразует значение в строку, используя функцию repr()
!s – преобразует значение в строку, используя функцию str()

В примере, в случае с флагом !r строка 'Hello' будет напечатана с кавычками в поле шириной не менее 20 символов, а в случае с флагом !s – без кавычек (в более удобном для чтения виде).
Architecture Patterns with Python (2019)
Авторы: Harry Percival, Bob Gregory
Количество страниц: 304

Поскольку популярность Python продолжает расти, проекты становятся все больше и сложнее. Многие разработчики Python в настоящее время проявляют интерес к шаблонам проектирования программного обеспечения высокого уровня. Но перевод этих шаблонов на Python не всегда прост. В своей книге авторы представляют проверенные шаблоны архитектурного проектирования, которые помогают разработчикам Python управлять сложностью приложений и получать максимальную отдачу от своих наборов тестов.

Скачать книгу
Форматирование строк

Часто приходится работать со строкой и выводить различные данные. Не проблема, когда нужно вывести что-то короткое:
print('Hello', name). Но чаще строки нужны для отображения на формах, а не через print(). Еще чаще вывод должен быть намного сложнее.

В python3 есть очень удобный способ. Нужно поставить f перед строкой а в фигурных скобках {} написать нужную переменную. Если же эти скобки понадобились в тексте, то достаточно написать их дважды, чтобы экранировать.

Еще один способ — воспользоваться методом format(). Суть та же, но на этот раз без добавления f и добавления переменных как аргументов.
1