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

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

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

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

По рекламе: @proglib_adv
РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36
Download Telegram
Проверка версии в python

Сколько раз уже была такая ситуация: даёшь код знакомому, но версии не совпадают. У кого-то новее, у кого-то старше. И чтобы в такую ситуацию не попасть, можно проверить текущую версию языка и отменить запуск в случае чего. Поможет в этом значение version_info, из библиотеки sys.

Хороший способ узнать нужную версию, особенно если на ПК их несколько.
Прояви свои цифровые таланты на новом хакатоне Цифрового Прорыва по теме "Медицина, здравоохранение, наука".

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

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