IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Telegram

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Mountain Car: решаем классическую задачу при помощи обучения с подкреплением

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

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Использование локальной директории с пакетами в Python уже сейчас

В Python 3.8 предлагается добавить альтернативу виртуальным окружениям — локальную директорию с пакетами PEP 582 Python local packages directory.

 

Данный PEP предлагает добавить в Python механизм автоматического обнаружения директории __pypackages__ и использовать её при импорте в качестве источника установленных пакетов. Директория __pypackages__ будет иметь больший приоритет при импорте, чем глобальные или пользовательские директории с пакетами. Это позволит исключить создание, активацию или деактивацию виртуальных окружений.

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Упрощение кода приложений Python с помощью рефакторинга. Часть 1

Перевод статьи Anthony Shaw Refactoring Python Applications for Simplicity

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

     20.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Упрощение кода приложений Python с помощью рефакторинга. Часть 2

Вторая статья про рефакторинг в Python. Первую статью можно почитать здесь.

     19.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Приватные методы без нижнего подчеркивания и интерфейсы в Python

Недавно угорел по дизайну — модификаторам доступа и интерфейсам, потом перенес это на язык программирования Python. Прошу под кат — делюсь результатами и как это работает. Для заинтересовавшихся в конце статьи есть ссылка на проект на Github.

     19.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

10 шагов к успешному Python-проекту

Материал, перевод которого мы сегодня публикуем, посвящён инструментам, которые позволяют оснащать Python-проекты средствами форматирования кода, тестирования, непрерывной интеграции и анализа зависимостей. Это помогает ускорить процесс разработки, способствует повышению качества, единообразия и безопасности кода. Предполагается, что у читателя этого материала уже есть некоторый опыт Python-разработки и проект на Python, с которым он, в ходе чтения, будет экспериментировать. Если такого проекта у вас нет — здесь можно узнать о том, как подготовить среду разработки и создать Python-пакет. Примеры, которые будут здесь приводиться, подготовлены с использованием macOS и Python 3.7.

     19.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Подборка @pythonetc, февраль 2019

Это девятая подборка советов про Python и программирование из авторского канала @pythonetc.

     19.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Инкапсуляция в Python 3

Значение термина «инкапсуляция» расплывчато и отличается от источника к источнику. Принято считать, что инкапсуляция — один из основополагающих принципов ООП, хотя некоторые научные статьи вовсе упускают инкапсуляцию из списка. К примеру, Джон Митчелл в книге «Концепты в языках программирования» при перечислении основных концептов в ООП упоминает только абстракцию — термин который принято считать близким к инкапсуляции по значению, но все-же более обширным и высокоуровневым. С другой стороны, Роберт Мартин в его книге «Чистая архитектура» явно говорит о том, что инкапсуляция, наследование и полиморфизм считается фундаментом ООП.

 

Разнообразие определений, данных термину «инкапсуляция», сложно привести к общему знаменателю. В целом можно выделить два подхода к значению этого термина

     18.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи
     18.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

PyDERASN: как я написал ASN.1 библиотеку с slots and blobs

ASN.1 это стандарт (ISO, ITU-T, ГОСТ) языка описывающего структурированную информацию, а также правил кодирования этой информации. Для меня как программиста это просто ещё один формат сериализации и представления данных, наравне с JSON, XML, XDR и другими. Он крайне распространён в нашей обычной жизни, и с ним многие сталкиваются: в сотовой, телефонной, VoIP связи (UMTS, LTE, WiMAX, SS7, H.323), в сетевых протоколах (LDAP, SNMP, Kerberos), во всём, что касается криптографии (X.509, CMS, PKCS-стандарты), в банковских картах и биометрических паспортах, и много где ещё.

В этой статье рассматривается PyDERASN: Python ASN.1 библиотека активно применяющаяся в проектах связанных с криптографией в Атласе.

     18.03.2019       Выпуск 274 (18.03.2019 - 24.03.2019)       Статьи

Знакомство с Тестированием в Python. Ч. 3

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

     16.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Большое O: что это такое, почему это важно, и почему это не важно.

Очень интересная статья Shen Huang о нотации Большое O: Big O notation: why it matters, and why it doesn’tВ статье присутствует

     16.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи
     16.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи
     15.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

Доступ к linux серверу с помощью Telegram-бота на Python

Довольно часто происходят ситуации, когда доступ к серверу нужен здесь и сейчас. Однако, не всегда подключение по SSH является наиболее удобным способом, потому что под рукой может не оказаться SSH клиента, адреса сервера или связки «пользователь/пароль». Конечно, есть Webmin, который упрощает администрирование, но он также не даёт моментальный доступ.

     15.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи
     15.03.2019       Выпуск 273 (11.03.2019 - 17.03.2019)       Статьи

И снова чат

После прочтения постов про по созданию чат приложений, я решил попробовать написать свой чат (ну как свой, вот исходники) и прикрутить к нему GUI. Может кому нибудь пригодится, и так начнем. Я использовал Python 3.7 + PyQt5.