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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Прояви свои цифровые таланты на новом хакатоне Цифрового Прорыва по теме "Медицина, здравоохранение, наука".

Регистрируйся сейчас по ссылке: https://proglib.io/w/69d15edc

18 - 20 июня у тебя будет шанс:

💊 Разработать решение для Ростелекома, СБЕР AI, Университета Лобачевского & EPAM, iHerb, Правительства ЯНАО, МИАЦ и других.
💊 Познакомиться с признанными экспертами IT-отрасли.
💊 Поучаствовать онлайн или на оффлайн-хакаточках в Москве, Санкт-Петербурге, Нижнем Новгороде, Волгограде, Саратове, Новороссийске, Курске, Черкесске, Дубне и др.
💊 Выиграть хакатон и попасть в финал конкурса.

Общий призовой фонд до 4,5 млн. ₽, по 3 призовых места на каждый из 6 кейсов.

Приглашаем программистов, дизайнеров, аналитиков, тестировщиков, продактов, питчеров и других желающих развиваться в IT. Актуально как для новичков, так и для профи!

Участвуй в главном хакатоне июня 2021 года!
👍1
Библиотека JmesPath

Как вы уже заметили работать с json файлами в python очень удобно, ведь они отлично конвертируется в словарь. Также мы разобрали полезную библиотеку json, поэтому еще раз говорить о ней не будем.

Но вот нам надо получить данные из файла. А формат json, как правило имеет множество вложений. Искать что-то нужное можно, но не всегда это удобно и красиво (а дзен Python говорит, что красота имеет значение)

JmesPath облегчает работу в несколько раз. Вместо file['a']['b']['c'] можно написать jmespath.search('a.b.c', file). Кажется стало длиннее, но это потому что мы взяли мало элементов, и согласитесь a.b.c выглядит лучше. Даже отредактировать в случае чего будет проще.

Еще больше возможностей можно узнать в документации (да, её стоит читать).
Библиотека newspaper3k

Часто приходится парсить статьи? Первое, что приходит на ум, — BeautifulSoup, но newspaper3k дает огромное преимущество.

Он даёт возможность извлекать статьи и связанные с ней мета-данные. То есть, ты можешь получить html-код, авторов и текст статьи. И не придется самому распарсивать статью.

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

pip install newspaper3k
Базы Данных

Хранить данные нужно всем. Обычно при работе программы все хранится в оперативной памяти (ОЗУ), но при перезапуске все стирается. И для запоминания информацию записывают на жесткий диск. Это и есть База Данных.

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

Еще информацию которая меняется от программы к программе можно записать в отдельный Python файл. Так нам даже не придется его открывать.
Базы Данных (CSV)

Безусловно прошлый способ с данными в txt файле действенный, но им никто не пользуется. Обычно использую более проlвинутые БД с использованием SQL.

Вот только иногда с txt работать намного проще, а возможно и быстрее. В таком случае рекомендуем использовать формат CSV. Хороший пример - таблица из значений температуры по дням (в выходные наблюдение не велось):

Data;Monday;Tuesday;Wednesday;Wednes­day;Friday
1;1.7;2.8;14;16.9;5.0

Еще можно к примеру хранить местоположение объектов, для работы с CSV есть специальный модуль, который так и называется csv. На картинке предоставлен вывод. Сохранение файла делается почти так же, как и у списков. Подробнее в следующем посте.
Tiny Python Projects (2020)
Автор: Ken Youens-Clark
Количество страниц: 440

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

Скачать книгу
Прочитать произвольную строку из файла

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

И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt:

Приветствую!
Здравствуйте!
Ку, здарова.
Добрый день!
Привет!

Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально.
👍1
Заглушки

Для создания пустых функций и классов есть сразу два способа соответствующих правилам PEP: "pass" и "...". Предпочтительнее использовать первый вариант. Он означает буквальным счетом пустоту, даже применить функции dir() или help() не получится. А вот три точки - объект.

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

На картинке пример программы проверяющий пароль от юзера. Сохранение в БД мы еще не решили как писать, поэтому просто создали заглушку.
Анонимные функции

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

Для таких случаев существуют лямбда функции, так выглядит их создание:
 
<аргументы>: <выражение>

Такие функции обязан знать каждый программист, их применение сильно сокращает код.
Модуль zipfile

Как говорилось ранее с zip может работать модуль shutil, но zipfile более многофункционален. С другой стороны он не так универсален и работает только с зипами. За все надо платить, не существует идеального способа для всего.

Для начала надо из zipfile импортировать ZipFile. И открыть файл ZipFile(file).

printdir() - вывод списка содержимого текстом для печати.

namelist() - вывод списка фалов списком.

open() - открыть файл внутри архива, далее работа проходит аналогично работе фалов.

Для практики на картинке показана программа выводящая красивый вложенный список файлов находящихся в архиве.

Больше возможностей можно узнать через help() или документацию.
Всем привет!
Мы сделали сервис, который отбирает вакансии по вашим интересам.
Настройте личные фильтры: локация, точный технологический стек, и, конечно, не забудьте о деньгах.

Все самые подходящие предложения рынка – в @GetMeIT_bot
🐍 Python для автоматизации тестирования: создаем несложный REST-тест за 4 шага

Python для инженера по Quality Assurance – универсальный «швейцарский нож», которым легко воспользоваться. Рассказываем, как создать автотест за 4 простых шага.

https://proglib.io/sh/Yir1Bjtduy
#вакансия #работа #job #Петербург #backend #Python #офис #частичнаяудаленка

Python разработчик (Команда биллинга)

Компания:
Selectel
Заработная плата: от 140 000 руб. на руки
Занятость: полная
Формат: офис, возможна частичная удаленка

Проект: Команда биллинга занимается разработкой сервисов учета средств и услуг всех продуктов компании.
Основные задачи: от простого написания API до построения сложных ресурсоёмких отчетов с большим количеством данных и сложной бизнес-логикой.
Стек: Python от 3, Flask, REST, Git, MySQL/PostgreSQL, Linux, RabbitMQ, Celery/Dramatique, SQLAlchemy, будет плюсом знание Go.

Почему Selectel:
• Белая зарплата, официальное оформление
• Годовая премия по результатам работы
• Бесплатные обеды, ДМС + стоматология, 50% оплата абонемента в фитнес-клуб, ежемесячная надбавка за некурение, регулярные спортивные мероприятия (турниры по пейнтболу, картингу, «Гонка героев», киберспорт, футбол, волейбол, баскетбол)
• Возможность участия в конференциях, полный доступ в онлайн-библиотеку, корпоративный английский и испанский
• Гибкое начало рабочего дня (до 12:00)
• Офис в 10 мин. пешком от ст. м. Московские ворота, своя авто- и велопарковка

Подробное описание вакансии тут

Присылайте резюме на @ev_molchanova или molchanova.e@selectel.ru
Essential Python for the Physicist (2020)
Автор: Giovanni Moruzzi
Количество страниц: 434

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

Скачать книгу