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

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

     28.09.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Колонка автора

Синтаксис Python: frozenset - морозное множество

frozenset и set, это как кортеж (tuple) и список. Первые являются неизменяемыми, вторые изменяемые.
Иммутабельные(неизменяемые) структуры данных - это коллекции, которые нельзя изменить. Примерно как числа. Число...[Продолжение]

     25.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Статьи

Перенаправление данных из COM-порта в web. Доработка

Недавно я опубликовал статью «Перенаправление данных из COM-порта в web», в которой описал прототип системы, транслирующей строки из последовательного порта компьютера в веб-браузер. В той статье я указал направления, в которых надо доработать прототип, чтобы приблизить его к продакшен-стадии:
— никакой дизайн веб-страницы
— в каждый момент времени данные получит только один веб-клиент
— очень ограниченный набор браузеров, с помощью которых можно получить доступ. Например, не работает ни в Internet Explorer 8, ни в браузере из Android 2.3.5
— требуется установка python

     27.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Таинство стандартной библиотеки: collections

Модуль collections - предоставляет специализированные типы данных, на основе словарей, кортежей, множеств, списков. Этот модуль хорошо себя показывает при частой работе со словарями и списками.
Например, данный...[Продолжение]

     25.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Статьи

ZIP в python (zipfile)

Модуль zipfile (входит в стандартный набор python) позволяет как создавать так и читать zip файлы. Разберем все на примерах.

     26.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Таинство стандартной библиотеки: мета-классы, что это и зачем

В Python все является объектом. Даже класс. Не объект класса, а сам класс.
»> ().__class__
<type 'tuple'>
»> ().__class__.__class__
<type 'type'>...[Продолжение]

     25.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Опыт разработчиков: основы декларативной магии

http://www.youtube.com/watch?v=luhyEER7_KM">http://www.youtube.com/watch">http://www.youtube.com/watch?v=luhyEER7_KM

     25.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Опыт разработчиков: соглашения о кодировании

В обществе существуют различные соглашения. Соглашения рождаются не просто так, а для того чтобы о чем-то условится и начать создавать.
Для разработчика важным является соглашение о кодировании. Это своего рода свод...[Продолжение]

     23.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Конференции, события, встречи разработчиков

Moscow Python Meetup в Rambler&Co

8-го октября (четверг) в Rambler&Co мы ждем в гости Moscow Python Meetup. 1-я встреча нового сезона начнется в 19.00. На встрече нас ждут 3 доклада. 

     23.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Статьи

Python Meetup 28.08.15: полнотекстовый поиск и Europython 2015

Всем привет! Спешим поделиться видео с августовского Python Meetup. В этот раз мы прослушали два доклада: один про реализацию полнотекстового поиска при помощи Python, а второй — обзор конференции Europython 2015 из уст очевидца. Приятного просмотра! 

     24.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Синтаксис Python: dir()

Достался нам в наследство какой-то код. А там непонятный объект с названием super_object_1.
Как понять что это за объект?
На помощь приходят встроенные функции - type(), dir(). Если с type() все ясно -...[Продолжение]

     23.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Функциональный Python: fn.py

Функциональные аспекты, такие как чистота, иммутабельные данные весьма жизнеспособны. Какие-то из них Python хорошо поддерживает, какие-то нет (например, рекурсия).
Сегодня хочется упомянуть библиотеку ...[Продолжение]

     23.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Извлечение информации: grab - фреймворк для веб-парсинга

Grab — python библиотека для парсинга сайтов
Её основные функции:
- Подготовка сетевого запроса (cookies, http-заголовки, POST/GET данные)
- Запрос на сервер (возможно через HTTP/SOCKS прокси)
-...[Продолжение]

     21.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Статьи

Алгоритм шифрования RC5 и его реализация на python

Алгоритм RC5 В своём посте, я хотел бы рассказать о симметричном алгоритме шифрования RC5 и моей версии его реализации на python. Данный алгоритм разработан известнейшим криптологом Рональдом Макдональдом Ривестом — одним из разработчиков системы RSA и основателей одноименной фирмы. По количеству пользователей RC5 стоит в одном ряду с такими известными алгоритмами как IDEA и Blowfish. Аббревиатура RC обозначает, по разным источникам, либо Rivest Cipher, либо Ron's Code, что в совокупности даёт нам «шифр Рона Ривеста». Заинтересовавшихся прошу под кат. Не нажимать!

     22.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Тесты тесты тесты: Selenium как инструмент тестирования

Selenium – это проект, в рамках которого разрабатывается серия программных продуктов с открытым исходным кодом.
Среди продуктов интересен Selenium WebDriver - это программная библиотека для управления браузерами....[Продолжение]

     22.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Тесты тесты тесты: создание читаемых отчетов

Когда в вашей программе очень много тестов, то возникают проблемы с чтением отчетов (что сломалось, что корректно отработало). Для создания читаемых отчетов можно порекомендовать allure-framework. О этом фреймворке можно...[Продолжение]

     21.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Синтаксис Python: yield from

Рассмотрим еще одну страшную конструкцию в Python 3.3+ - yield from
Напомню, генератор это объект который можно про итерировать только однажды. Записывается как:
f = (x for x in...[Продолжение]

     21.09.2015       Выпуск 92 (21.09.2015 - 27.09.2015)       Колонка автора

Синтаксис Python: encode/decode

Вероятно, самым заметным отличием Python 2 от Python 3 является юникод. Это нововведение упростило работу со строками. Однако, так как Python 2 еще в строю, то кодировки еще в силе и не мало разработчиков путается между...[Продолжение]

     20.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Колонка автора

Таинство стандартной библиотеки: модуль operator

Модуль operator содержит набор функций, соответствующих операторам Python.
Вот некоторые функции:
operator.add(a, b) # суммирует два значения
...[Продолжение]

     18.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Статьи

Python 3.5; async/await

Тихо и незаметно (с), вышел Python версии 3.5! И, безусловно, одно из самых интересных нововведений релиза является новый синтаксис определения сопрограмм с помощью ключевых слов async/await, далее в статье об этом. 

Поверхностный просмотр «PEP 0492 — Coroutines with async and await syntax» по началу оставил у меня вопрос «Зачем это надо». Сопрограммы удовлетворительно реализуются на расширенных генераторах и на первый взгляд может показаться, что все свелось к замене yield from на await, а декоратора, создающего сопрограмму на async. Сюда можно добавить и возникающее ощущение, что все это сделано исключительно для использования с модулем asyncio.

     19.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Колонка автора

Таинство стандартной библиотеки: слабые ссылки - weakref

Python имеет автоматическое управление памятью: подсчёт ссылок для большинства объектов и сборка мусора для удаления циклов. Память освобождается сразу после того, как была удалена последняя ссылка на объект.
Этот...[Продолжение]