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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     12.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Новости
     11.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Статьи
     11.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Статьи
     11.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Статьи

Polyglot PyCharm for Rich Web Front-ends Part 2

Это вторая часть вебинара об использовании PyCharm для web-frontend разработки

     11.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Видео

Raspberry Pi + MCP3008

В видео вы найдете пример работы с Python библиотекой для MCP3008 АЦП на Raspberry Pi. Рассмотрим структуру библиотеки, научимся работать с SPI

     11.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Видео

Туториал: введение в data science на Python

Пробовали попасть в науку о данных или в машинное обучение? Но сталкиваетесь со сложным технологическим стеком или математикой? 

В видео вы найдете пошаговое руководство по настройке ОС, будет расмотрен стек технологий, рассмотрим стандартные наборы данных для обучения.

     11.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Новости

PEP 0515 -- символ подчеркивания для чисел

Этот PEP расширяет синтаксис Python - добавляет символ подчеркивания для ввода целочисленных, дробных и комплексных литералов. Это может позволить повысить читаемость длинных чисел.

# grouping decimal numbers by thousands
amount = 10_000_000.0

# grouping hexadecimal addresses by words
addr = 0xDEAD_BEEF

# grouping bits into nibbles in a binary literal
flags = 0b_0011_1111_0100_1110

# making the literal suffix stand out more
imag = 1.247812376e-15_j

     11.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Интересные проекты, инструменты, библиотеки

pyriodic - планировщик задач на Python для запуска периодических задач

from pyriodic import DurationJob
from pyriodic import DatetimeJob
from pyriodic import Scheduler

now = datetime.now
s = Scheduler()

start = now()

def func1(arg1=None, arg2=None, arg3=None, arg4=None):
    print('Func1', arg1, arg2, arg3, arg4, now() - start, now())

def func2():
    print('Func2', now() - start, now())

def func3():
    print('Func3', now() - start, now())

s.add_job(DurationJob(func1,
                    when='30m',
                    args=('This', 'is'),
                    kwargs={'arg3': 'the', 'arg4': 'first function'},
                    name='MyJob'))
s.add_job(DurationJob(func2, when='2h'))
s.add_job(DatetimeJob(func3, when='12:00 pm'))

print(s.next_run_times())

     11.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Колонка автора

Python уроки: тестирование с помощью unittest

unittest - инструмент для тестирования в Python. Это стандартный модуль для написания юнит-тестов на Python. Unittest это порт JUnit с Java. Иными словами, и в коде модуля, и при написании тестов легко прослеживается ООП стиль, что весьма удобно для тестирования процедур и классов.

Документация доступна по следующим ссылкам: python3python2

В данном инструменте много возможностей: проверки (assert*), декораторы, позволяющие пропустить отдельный тест (@skip, @skipIf) или обозначить сломанные тесты (@expectedFailure) и этим не заканчивается список. Использование assert'ов с лихвой покрывает нужды при написании тестов.

Полезная черта unittest - автоматизированное тестирование. Есть и другие:

  • можно собирать тесты в группы
  • собирать результаты выполнения тестов (например, для отчета)
  • ООП стиль позволяет уменьшить дублирование кода при схожих объектах тестирования

     10.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Статьи

Celery: начинаем правильно

Заметка с советами по работе с Celery в production.

     10.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Колонка автора

Python уроки: Введение в тестирование на Python

Этот урок имеет вводный характер и знакомит с общей информацией о тестировании и простой конструкцией, которая позволяет значительно улучшить Python-код.

Тестирование программного обеспечения (Software Testing) - проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая при конечном наборе тестов, выбранном определенным образом. [IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004]