Некоторое время назад я запустил бота для постинга в Evernote через джаббер и пообещал открыть исходный код, чтобы показать примеры работы с Evernote API и OAuth.
Код — в конце статьи, а для начала я расскажу о некоторых особенностях работы с Evernote.
Теги ‘python’
Зашел тут у нас в офисе разговор как наиболее «красиво» и быстро склеить список списков в Питоне. Действительно как?
Даже такую казалось бы тривиальную задачу можно решить несколькими способами, существенно отличающимися по скорости и выразительности.
ВАРИАНТ1
Все знают, что элементы списка можно перебирать в цикле и, то что можно добавлять элементы в конец. Это приводит нас к первому варианту решения:
def listmerge1(lstlst):
all=[]
for lst in lstlst:
for el in lst:
all.append(el)
return all
Мало того, что функция растянулось аж на 6 строк, так вдобавок она еще и не эффективная.
Попробуем её улучшить в обоих смыслах: скорости и красоты («pythonic way»).
Полиглоты в продакшн Питона.
Сразу, в порядке завлекалочки. Нашей целью будет научиться писать программы-полиглоты, способные интерпретироваться сразу на нескольких языках программирования (одним, «базовым» из которых является Python). При этом, в случае интерпретации на одном из них, программа будет генерировать другую программу, функционально схожую (или даже эквивалентную) той, которая выполняется в случае интерпретации на другом языке.
И самое интересное: подходы, используемые при написании этой программы, будут интересны не столько академически, сколько практически — при разработке программы с использованием этих подходов разработка будет проще и удобнее (хоть поначалу и чуточку непривычно), а программа будет эффективнее, чем без них.
Впрочем, это звучит страшнее, чем является.
Среди изменений:
* Библиотека ввода/вывода переписана на языке Си, что позволило ускорить ее работу от 2 до 20 раз;
* Новый механизм оптимизации циклов "–with-computed-gotos", в некоторых ситуациях ускоряющий выполнение кода примерно на 20%;
* В 2-4 раза увеличена скорость декодирования строк UTF-8, UTF-16 и LATIN-1;
* Для json модуля добавлено расширение, написанное на Си и значительно повышающее производительность;
По ссылке продолжение списка.
Здрасти. Долго-долго я присматривался к замечательному фреймворку django, читал книгу, изучал статьи, пробовал писать hello world’ы (со встроенным в джангу сервером это было легко и приятно). А вчера я попробовал настроить от начала до конца боевой сервер, и как оказалось, это не так просто, и мне даже показалось, что будь я моложе и неопытнее, я бы плюнул на это дело. Вот я и решил поделиться с читателями полной инструкцией, снабдив её некоторыми рассуждениями и конфигами. Статья расчитана на начинающих, но будет интересно всем, обещаю.

Сегодня я немного расскажу про программу QtiPlot и возможность скриптования её возможностей с помощью языка Python.
Программа QtiPlot разрабатывается как свободный аналог Origin, то есть универсального средства представления и анализа данных. Она позволяет строить всевозможные графики, выполнять операции с данными, искать аппроксимации кривых и тд. С Ориджином я не работал с первого курса института, так что сравнить возможности не смогу, да это и не важно, QtiPlot имеет три важнейших преимущества, это свободность, кроссплатформенность и скриптование на языке Python, о котором пойдёт речь дальше.
В настоящее время «стандартом де факто» для построения графиков в мире *nix систем является gnuplot, в мире Windows это Origin, видимо ломанный, если посмотреть на его стоимость (чуть менее $1000 за самую крутую версию). Так вот QtiPlot в месте с Питоном вполне могут потеснить эти продукты.
![]()
Довольно давно я написал статью, в которой приводил примеры основ работы с системой с помощью Python-скриптов. Из-за мельком оброненной фразы (достаточно взглянуть на название топика) статья получила довольно много комментариев холиварного и не очень характера. Кому-то, возможно, захотелось воспользоваться возможностями Python для администрирования (сейчас подобного рода тулзы на питоне как раз набирают популярность). Так почему бы не завлечь в свой стан еще немного единомышленников?
Встречайте — небольшая подборка простых приемов для тех или иных целей.
Многие когда-либо интересовались случайными числами. Хочу поделиться моими экспериментами по получению истинно случайных чисел с помощью «аппаратного генератора» встроенного в практически любой компьютер — звуковой карты.
При подготовке материала, я переписал свой старый Си код на Питоне, поэтому данный опус также является примером по использованию Windows DLL из Питона с использованием стандартной библиотеки ctypes.
В конце статьи сравниваются данные полученные от двух звуковых карт Realtek и Audigy 2, приведены результаты статистических тестов на случайность.
В этой заметке рассматривается алгоритм MRO С3 и некоторые специфические проблемы множественного наследования. Хотя и алгоритм и проблемы не ограничиваются рамками одного языка, я акцентировал своё внимание на Питоне. В конце приведён список полезных ссылок по данной теме.
Здравствуйте. Пару дней назад я совершенно спонтанно создал сайт pyjob.ru Вдохновение я черпал с сайта djangogigs.com Если кто не знает, djangogigs.com — это площадка для размещения вакансий для django-разработчиков. Я не могу сказать про pyjob.ru что-то особенное. Да, это просто-напросто список python-вакансий. Я регулярно вижу объявления о поиске python-программиста на различных сайтах. Скромно хочу, чтобы pyjob.ru был официальным местом для такого рода объявлений. Естественно, на сайт не нужно заходить каждый день — достаточно лишь подписаться на RSS фид. Первое время буду копировать ручками вакансии с других сайтов. Надеюсь, в будущем pyjob.ru заживёт собственной жизнью.