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

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

     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 имеет автоматическое управление памятью: подсчёт ссылок для большинства объектов и сборка мусора для удаления циклов. Память освобождается сразу после того, как была удалена последняя ссылка на объект.
Этот...[Продолжение]

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

Анализ логов с помощью Hadoop/Python

Привет, Хабр! В этом посте я хотел бы рассказать вам о том, как мы, Лаборатория новых профессий, вместе с компанией Data-centric Alliance смогли сконструировать несколько лабораторных работ, посвящённых обработке и анализу веб-логов. Эти лабораторные работы являются ключевыми в рамках первого кейса нашей образовательной программы «Специалист по большим данным» и выполняются на основе аудиторных данных DMP Facetz.DCA. Меня зовут Артем Пичугин, и я являюсь её координатором.

Представьте, что вы компания, продающая автомобили. Кому показать рекламу автомобиля? На каких сайтах? Так, чтобы недорого и эффективно? Казалось бы, ответ очевиден: пользователям, которые заходят на страницы покупки автомобилей на сайтах компаний, а также на досках объявлений типа Avito и т д.

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

Разворачиваем Flask-приложение на Nginx, используя Gunicorn

Предположим, у вас есть Ubuntu, в котором нужно развернуть Nginx с Flask-приложением. Вам необходимо использовать WSGI сервер, например, Gunicorn. Gunicorn (Green Unicorn) — WSGI HTTP сервер на Python для UNIX систем. Представляю вольный перевод статьи Onur Güzel «How to Run Flask Applications with Nginx Using Gunicorn», где шаг за шагом показано процесс развертывания.

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

Функциональный Python: Python — это не Haskell

Идеи функционального программирования довольно популярны, в том числе и в среде программистов на Python, который не является функциональным языком.
В докладе речь пойдёт об особенностях функционального стиля в...[Продолжение]

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

Регулярные выражения python

Регуля́рные выраже́ния (англ. regular expressions) — формальный язык поиска и осуществления манипуляций с подстроками в тексте. Так же их называю сокращенно regexes. Проще говоря это шаблон (pattern) для поиска определенной строки(подстроки). Разберем все на примерах.