Проверка версии в python
Сколько раз уже была такая ситуация: даёшь код знакомому, но версии не совпадают. У кого-то новее, у кого-то старше. И чтобы в такую ситуацию не попасть, можно проверить текущую версию языка и отменить запуск в случае чего. Поможет в этом значение version_info, из библиотеки sys.
Хороший способ узнать нужную версию, особенно если на ПК их несколько.
Сколько раз уже была такая ситуация: даёшь код знакомому, но версии не совпадают. У кого-то новее, у кого-то старше. И чтобы в такую ситуацию не попасть, можно проверить текущую версию языка и отменить запуск в случае чего. Поможет в этом значение version_info, из библиотеки sys.
Хороший способ узнать нужную версию, особенно если на ПК их несколько.
Прояви свои цифровые таланты на новом хакатоне Цифрового Прорыва по теме "Медицина, здравоохранение, наука".
Регистрируйся сейчас по ссылке: https://proglib.io/w/69d15edc
⠀
18 - 20 июня у тебя будет шанс:
⠀
💊 Разработать решение для Ростелекома, СБЕР AI, Университета Лобачевского & EPAM, iHerb, Правительства ЯНАО, МИАЦ и других.
💊 Познакомиться с признанными экспертами IT-отрасли.
💊 Поучаствовать онлайн или на оффлайн-хакаточках в Москве, Санкт-Петербурге, Нижнем Новгороде, Волгограде, Саратове, Новороссийске, Курске, Черкесске, Дубне и др.
💊 Выиграть хакатон и попасть в финал конкурса.
⠀
Общий призовой фонд до 4,5 млн. ₽, по 3 призовых места на каждый из 6 кейсов.
Приглашаем программистов, дизайнеров, аналитиков, тестировщиков, продактов, питчеров и других желающих развиваться в IT. Актуально как для новичков, так и для профи!
⠀
Участвуй в главном хакатоне июня 2021 года!
Регистрируйся сейчас по ссылке: 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 выглядит лучше. Даже отредактировать в случае чего будет проще.
Еще больше возможностей можно узнать в документации (да, её стоит читать).
Как вы уже заметили работать с 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
Часто приходится парсить статьи? Первое, что приходит на ум, — BeautifulSoup, но newspaper3k дает огромное преимущество.
Он даёт возможность извлекать статьи и связанные с ней мета-данные. То есть, ты можешь получить html-код, авторов и текст статьи. И не придется самому распарсивать статью.
Библиотеку необходимо установить:
pip install newspaper3k
Базы Данных
Хранить данные нужно всем. Обычно при работе программы все хранится в оперативной памяти (ОЗУ), но при перезапуске все стирается. И для запоминания информацию записывают на жесткий диск. Это и есть База Данных.
Самая популярная База Данных - текстовый файл с записанными значениями. И правда очень удобно. Достаточно открыть файл и прочитать, что там лежит, особенно, если мы знаем какая строка сему соответствует.
Еще информацию которая меняется от программы к программе можно записать в отдельный Python файл. Так нам даже не придется его открывать.
Хранить данные нужно всем. Обычно при работе программы все хранится в оперативной памяти (ОЗУ), но при перезапуске все стирается. И для запоминания информацию записывают на жесткий диск. Это и есть База Данных.
Самая популярная База Данных - текстовый файл с записанными значениями. И правда очень удобно. Достаточно открыть файл и прочитать, что там лежит, особенно, если мы знаем какая строка сему соответствует.
Еще информацию которая меняется от программы к программе можно записать в отдельный Python файл. Так нам даже не придется его открывать.
Базы Данных (CSV)
Безусловно прошлый способ с данными в txt файле действенный, но им никто не пользуется. Обычно использую более проlвинутые БД с использованием SQL.
Вот только иногда с txt работать намного проще, а возможно и быстрее. В таком случае рекомендуем использовать формат CSV. Хороший пример - таблица из значений температуры по дням (в выходные наблюдение не велось):
Data;Monday;Tuesday;Wednesday;Wednesday;Friday
1;1.7;2.8;14;16.9;5.0
Еще можно к примеру хранить местоположение объектов, для работы с CSV есть специальный модуль, который так и называется csv. На картинке предоставлен вывод. Сохранение файла делается почти так же, как и у списков. Подробнее в следующем посте.
Безусловно прошлый способ с данными в txt файле действенный, но им никто не пользуется. Обычно использую более проlвинутые БД с использованием SQL.
Вот только иногда с txt работать намного проще, а возможно и быстрее. В таком случае рекомендуем использовать формат CSV. Хороший пример - таблица из значений температуры по дням (в выходные наблюдение не велось):
Data;Monday;Tuesday;Wednesday;Wednesday;Friday
1;1.7;2.8;14;16.9;5.0
Еще можно к примеру хранить местоположение объектов, для работы с CSV есть специальный модуль, который так и называется csv. На картинке предоставлен вывод. Сохранение файла делается почти так же, как и у списков. Подробнее в следующем посте.
Tiny Python Projects (2020)
Автор: Ken Youens-Clark
Количество страниц: 440
Данная книга сделает вас из любителя профессионалом Python, поскольку, работая с ней, вы создадите 22 программы размерами в несколько байтов. Каждый новый маленький проект научит вас новой концепции программирования, от основ списков и строк до регулярных выражений и случайных величин.
Скачать книгу
Автор: Ken Youens-Clark
Количество страниц: 440
Данная книга сделает вас из любителя профессионалом Python, поскольку, работая с ней, вы создадите 22 программы размерами в несколько байтов. Каждый новый маленький проект научит вас новой концепции программирования, от основ списков и строк до регулярных выражений и случайных величин.
Скачать книгу
Telegram
Книги для программистов (reserved)
Tiny Python Projects (2020)
Автор: Ken Youens-Clark
Автор: Ken Youens-Clark
Прочитать произвольную строку из файла
Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети.
И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt:
Приветствую!
Здравствуйте!
Ку, здарова.
Добрый день!
Привет!
Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально.
Предположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети.
И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt:
Приветствую!
Здравствуйте!
Ку, здарова.
Добрый день!
Привет!
Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально.
👍1
full-stack-fastapi-postgresql: фулл стек, современный генератор веб-приложений.
https://proglib.io/w/1e89bcf1
https://proglib.io/w/1e89bcf1
GitHub
GitHub - tiangolo/full-stack-fastapi-postgresql: Full stack, modern web application generator. Using FastAPI, PostgreSQL as database…
Full stack, modern web application generator. Using FastAPI, PostgreSQL as database, Docker, automatic HTTPS and more. - GitHub - tiangolo/full-stack-fastapi-postgresql: Full stack, modern web appl...
Заглушки
Для создания пустых функций и классов есть сразу два способа соответствующих правилам PEP: "pass" и "...". Предпочтительнее использовать первый вариант. Он означает буквальным счетом пустоту, даже применить функции dir() или help() не получится. А вот три точки - объект.
Их применение более широкое. Мы видели точки, когда выводили бесконечный список. Но то, был просто вывод, а не наш объект. Ellipsis применяется так же для создания пустых списков. Он показывает, что внутри не что-то одно, а много. На практике его используют лишь в документации и при создании все тех же пустых функций.
На картинке пример программы проверяющий пароль от юзера. Сохранение в БД мы еще не решили как писать, поэтому просто создали заглушку.
Для создания пустых функций и классов есть сразу два способа соответствующих правилам PEP: "pass" и "...". Предпочтительнее использовать первый вариант. Он означает буквальным счетом пустоту, даже применить функции dir() или help() не получится. А вот три точки - объект.
Их применение более широкое. Мы видели точки, когда выводили бесконечный список. Но то, был просто вывод, а не наш объект. Ellipsis применяется так же для создания пустых списков. Он показывает, что внутри не что-то одно, а много. На практике его используют лишь в документации и при создании все тех же пустых функций.
На картинке пример программы проверяющий пароль от юзера. Сохранение в БД мы еще не решили как писать, поэтому просто создали заглушку.
Анонимные функции
Часто функции нужны только один раз, причем короткие. И избыточно создавать под них функцию и придумывать ей имя.
Для таких случаев существуют лямбда функции, так выглядит их создание:
Такие функции обязан знать каждый программист, их применение сильно сокращает код.
Часто функции нужны только один раз, причем короткие. И избыточно создавать под них функцию и придумывать ей имя.
Для таких случаев существуют лямбда функции, так выглядит их создание:
<аргументы>: <выражение>
Такие функции обязан знать каждый программист, их применение сильно сокращает код.
Модуль zipfile
Как говорилось ранее с zip может работать модуль shutil, но zipfile более многофункционален. С другой стороны он не так универсален и работает только с зипами. За все надо платить, не существует идеального способа для всего.
Для начала надо из zipfile импортировать ZipFile. И открыть файл ZipFile(file).
printdir() - вывод списка содержимого текстом для печати.
namelist() - вывод списка фалов списком.
open() - открыть файл внутри архива, далее работа проходит аналогично работе фалов.
Для практики на картинке показана программа выводящая красивый вложенный список файлов находящихся в архиве.
Больше возможностей можно узнать через help() или документацию.
Как говорилось ранее с zip может работать модуль shutil, но zipfile более многофункционален. С другой стороны он не так универсален и работает только с зипами. За все надо платить, не существует идеального способа для всего.
Для начала надо из zipfile импортировать ZipFile. И открыть файл ZipFile(file).
printdir() - вывод списка содержимого текстом для печати.
namelist() - вывод списка фалов списком.
open() - открыть файл внутри архива, далее работа проходит аналогично работе фалов.
Для практики на картинке показана программа выводящая красивый вложенный список файлов находящихся в архиве.
Больше возможностей можно узнать через help() или документацию.
Всем привет!
Мы сделали сервис, который отбирает вакансии по вашим интересам.
Настройте личные фильтры: локация, точный технологический стек, и, конечно, не забудьте о деньгах.
Все самые подходящие предложения рынка – в @GetMeIT_bot
Мы сделали сервис, который отбирает вакансии по вашим интересам.
Настройте личные фильтры: локация, точный технологический стек, и, конечно, не забудьте о деньгах.
Все самые подходящие предложения рынка – в @GetMeIT_bot
🐍 Python для автоматизации тестирования: создаем несложный REST-тест за 4 шага
Python для инженера по Quality Assurance – универсальный «швейцарский нож», которым легко воспользоваться. Рассказываем, как создать автотест за 4 простых шага.
https://proglib.io/sh/Yir1Bjtduy
Python для инженера по Quality Assurance – универсальный «швейцарский нож», которым легко воспользоваться. Рассказываем, как создать автотест за 4 простых шага.
https://proglib.io/sh/Yir1Bjtduy
Forwarded from Python jobs — вакансии по питону, Django, Flask
#вакансия #работа #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
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
selectel.ru
Selectel — IT-инфраструктура для бизнеса
Selectel предлагает комплексные IaaS и PaaS-решения для разных категорий бизнеса: от индивидуальных предпринимателей до крупных корпораций. Аренда IT-инфраструктуры в дата-центрах Москвы и Петербурга
Essential Python for the Physicist (2020)
Автор: Giovanni Moruzzi
Количество страниц: 434
Эта книга знакомит читателя с небольшим опытом программирования или вообще без него с языком Python, который пригодится физикам и многим из тех, кто изучает естественные науки. Книга начинается с базового интерактивного Python для ознакомления с языком, далее изучаются простые скрипты. Все коды программ подробно обсуждаются, и читателю предлагается поэкспериментировать, что произойдет, если некоторые строки кода будут изменены.
Скачать книгу
Автор: Giovanni Moruzzi
Количество страниц: 434
Эта книга знакомит читателя с небольшим опытом программирования или вообще без него с языком Python, который пригодится физикам и многим из тех, кто изучает естественные науки. Книга начинается с базового интерактивного Python для ознакомления с языком, далее изучаются простые скрипты. Все коды программ подробно обсуждаются, и читателю предлагается поэкспериментировать, что произойдет, если некоторые строки кода будут изменены.
Скачать книгу