Опыт разработчиков: пишем совместимый код (Python 2 и 3)

Python 3 вышел в 2008 году, однако, до сих пор не все перешли на новую версию. Раньше основными аргументами, чтобы не начинать новые проекты на Python были - библиотеки не готовы к использованию, нет особых фич.

Первое уже вполне решено - https://python3wos.appspot.com/

А второе, начиная с Python 3.3 уже слабо актуально - много новых фич введено.

Поэтому теперь актуально ...

more ...

Синтаксис Python: with ... as

Конструкция with ... as используется для оборачивания выполнения блока инструкций менеджером контекста. Иногда это более удобная конструкция, чем try...except...finally.

Синтаксис конструкции with ... as:

"with" expression ["as" target] ("," expression ["as" target])* ":"
    suite

Теперь по порядку о том, что происходит при выполнении данного блока:

  • Выполняется выражение в конструкции with ... as.
  • Загружается специальный метод __exit__ для дальнейшего использования.
  • Выполняется метод __enter__. Если ...
more ...


Hardcore Python: запускаем С код с помощью cffi

Самый популярный Python это CPython. Он настолько популярен, что когда говорят Python имеют ввиду именно каноническую реализацию - CPython.

CPython, как можно понять из названия, имеет какое-то отношение к языку C. Из Python вы можете с помощью ctypes дергать С-шные функции.
Однако, этот механизм несколько медленный и не всегда удобный - бывает надо просто дернуть один кусок C-кода. Или надо только часть ...

more ...

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

Стандартная поставка Python полна возможностями. Хочется упомянуть обобщенные функции. Если простыми словами, то это такие функции, где мы не думаем о типах аргументов, а просто пишем логику. Например, (натянутый пример) оператор "+" - мы не думаем о аргументах, мы просто складывает два объекта.

Для реализации обобщенных функций в Python 3 (начиная с 3.4) появился метод singledispatch в модуле functools.

>>> @fun.register ...
more ...

Полезные библиотеки: plot.ly (plotly)

Понятное представление информации - это вечная задача. Причем она свойственна всем.

Хочется упомянуть графики. Вот собрали мы данные, задача была не простая, а теперь надо их представить. Графики бывают разных типов, их очень много. Даже если какой-то график сделали, а как поделиться? Можно скинуть картинку, да только придется потом с "линейкой" вычислять значения, а можно пойти по другому пути - https://plot ...

more ...

Полезные библиотеки: numpy

NumPy — это библиотека языка Python, добавляющая поддержку больших многомерных массивов и матриц, вместе с большой библиотекой высокоуровневых (и очень быстрых) математических функций для операций с этими массивами.

В чем же "фишка" NumPy вы можете спросить.

Основным объектом NumPy является однородный многомерный массив (в numpy называется numpy.ndarray). Это многомерный массив элементов (обычно чисел), одного типа.

Здесь можно подчеркнуть одного типа ...

more ...

Внутренности Python: зачем нужен GIL(Global interpreter lock)

Много хают GIL в Python, в этом видео вы узнаете насколько же он плох... или все-таки хорош?

more ...

Python на службе народа: распознаем образы с помощью Raspberry Pi

Raspberry Pi - это мини-компьютер, который имеет невысокую цену и при этом имеет богатые возможности. Применение мини-компьютеров широкое, например, можно сделать камеру для дома - можете реализовать программку, которая будет следить за вашим маленьким ребенком и посылать вам сигнал, когда ребенок проснулся.