Синтаксис Python: lambda-функции

Python поддерживает интересный синтаксис, позволяющий определять небольшие однострочные функции на лету. Позаимствованные из Lisp, так называемые lambda-функции могут быть использованы везде, где требуется функция.

Небольшой пример

def func(x, y):
    return x**2 + y**2

func = lambda x, y: x**2 + y**2

С одной стороны "прикольно", вместо 2 строк - одна, но сложные конструкции на lambda функциях не напишешь - плохо ...

more ...

Python-проекты: русско-язычные Python-проекты

Хочется поделиться списком Python-проектов, которые популяризируют Python

  • http://pythondigest.ru/ - дайджест Python новостей, собирает в одном месте самые интересные ссылки на Python-контент. Наверное, самый живой проект, выпуски каждую неделю.
  • http://pythonz.net/ - сайт про Python. Постепенно развивается. Есть справочник по встроенным в стандартную библиотеку методам
  • http://djbook.ru/ - Django на русском, много справочного материала. Форум до сих пор жив - весьма ...
more ...

Таинство стандартной библиотеки: sys.platform - определяем операционную систему

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

Например, у разработчика стоит Linux, а у пользователя Windows. Или даже если у обоих стоит одна ОС, то на одном ПК может стоять необходимый модуль, а на другом нет. Все это накладывает отпечаток. Python со стандартной библиотекой предоставляет необходимый инструментарий для разрешения многих проблем.

Рассмотрим ...

more ...

Полезные библиотеки: bokeh - библиотека визуализации данных

Bokeh- это библиотека для интерактивной визуализации адаптированная под отображение в браузере. В этом и суть этой библиотеки.

Image

bokeh имеет биндинги к самым различным языкам - R, Lua, Python, Julia. Вы пишите код визуализации на своем языке, а затем с помощью BokehJS отображаете в браузере. Возможности у инструмента огромные, прям как D3.js

Image

Ссылки для изучения:

more ...

Опыт разработчиков: сборники ссылок

Наверняка вы встречались с awesome-LANGUAGE списками. Это набор ссылок на интересные библиотеки/статьи/книги/видео по языкам программирования.

Таких списков настолько много, что даже сделали список - awesome-awesomeness (https://github.com/bayandin/awesome-awesomeness)

Но даже в нем не все есть про Python, приведу список интересных списков:

more ...

API всему голова: ВКонтакте - от начала до отправки сообщения другу

Работа с API сервисов это всегда история по типу "Ожидание...реальность". Ибо даже простое API может скушать день, а то и 2 дня рабочего времени.

API Вконтакте не исключение. Уже есть очень много материалов на тему использования этого интерфейса:

http://habrahabr.ru/search/page2/?q=vk+api&target_type=posts&order_by=relevance

Много практических задач решили с помощью API:

more ...

Полезные библиотеки: swig - запускаем C-код из Python

Для работы с С-библиотеками есть несколько способов: - Писать программу на С/C++ и подключать DLL (.so) файлы - Попытаться напрямую запустить C код из нужного языка.

Перед тем как продолжить - зачем нужно запускать C/C++ код? Все просто - например, работаем с железом, а значит и с драйверами (а их пишут на C). Вот здесь и появляется необходимость взаимодействовать с С кодом ...

more ...

Пишем web-проекты: django-braces - набор миксин на все случаи жизни

При разработке сколько-либо сложного django-проекта необходимо из раза в раз писать одинаковые куски кода - разграничивать доступ к контенту.

Например. чтобы только администратор в меню сайта видел ссылку на "админку", или чтобы модератор имел какую-то внутреннюю страницу, которая не доступна простому пользователю.

В случае с уровнем доступа, с авторизацией и прочими типовыми задачами есть набор готовых миксин - django-braces. Django-braces позволяет в ...

more ...

Пишем web-проекты: jinja2 - шаблонизатор

Jinja — это шаблонизатор для языка программирования Python. Он подобен шаблонизатору Django, но предоставляет Python-ические выражения, обеспечивая исполнение шаблонов в песочнице. Это текстовый язык шаблонов и, таким образом, может быть использован для создания какой-либо разметки, а также исходного кода.

Шаблонизатор Jinja позволяет настраивать теги, фильтры, тесты и глобальные переменные. Также, в отличие от шаблонизатора Django, Jinja позволяет конструктору шаблонов вызывать функции ...

more ...

Практические задачи: Задача #001 - генерация псевдо-настоящих данных о пользователе

Много слов про новый раздел постов:

Мы прекрасно понимаем, что новичкам сложно переступить через черту теории и начать использовать программирования для решения практических задач, поэтому запускаем новый раздел постов - "Практические задачи". В этом разделе будут публиковаться реальные задачи - какие-то будем брать из собственной работы, какие-то с блогов и адаптировать, какие-то с фриланс сайтов.

Кто заинтересуется решением этих задач, просим помогать ...

more ...