DreamPie. Хорошая замена IDLE (консоль для Python)

dreampie-khoroshaya-zamena-idle-konsol-dlya-python

Вот знаете, меня всегда интересовало, зачем разработчики Python мучились и делали консоль IDLE, если она по удобству даже хуже, чем стандартная виндовая или линуксовая консоль. Нет, я, конечно, понимаю, что там есть раскраска, автодополнение и подсказки по параметрам функций, но как же там неудобно вводить текст…

Это я все не для того, чтобы устроить очередной холивар, оказывается есть действительно удобная Python-консоль. Называется она DreamPie.

DreamPie. Хорошая замена IDLE (консоль для Python) dreampie 00 300x229

Читать далее ‘DreamPie. Хорошая замена IDLE (консоль для Python)’ »

Тоби Сегаран «Программируем коллективный разум»

Программируем коллективный разумЗнаете, люблю я книжки про всякие интересные алгоритмы, и вот недавно попалась еще одна, которую можно поставить на полку рядом с Программированием искусственного интеллекта в приложениях и Нейрокомпьютерами, про которые когда-то писал.

Книга «Программируем коллективный разум» в основном посвящена алгоритмам классификации и кластеризации, хотя есть главы, посвященные другим темам вроде создания собственного поисковика, генетическим алгоритмам и генетическому программированию. Почти все описанные алгоритмы применяются в духе Web 2.0, используя анализ поведения пользователей на разных сайтах, которые предоставляют свой API. Но что особенно приятно удивило, так это то, что все примеры написаны на языке Python.

Вот какие алгоритмы описываются в книге:

  • Коллаборативная фильтрация. Или, говоря человечески языком, алгоритмы, которые могут рекомендовать вам какие-то покупки, сайты или музыку в зависимости от оценок, которые вы поставили другим подобным вещам. По таким алгоритмам работает навязывание покупок в интернет-магазинах или подбор музыки на last.fm. В конце главы приводится пример, который будет рекомендовать вам ссылки из сервиса del.icio.us.
  • Алгоритмы группировки (кластеризации). Создаваемый пример анализирует RSS-каналы блогов и пытается их автоматически разделить на группы в виде дерева в зависимости от частоты слов, которые попадаются в блоге. Заодно Сегаран рассказывает как можно сделать так, чтобы названия блогов расположились на плоскости кучками в зависимости от их близости в плане рассматриваемых тем.
  • Отдельная глава посвящена построению поисковиков – созданию паука и, самое главное, рассматриваются алгоритмы ранжирования ссылок, в том числе и с учетом ссылок страниц друг на друга, создавая, таким образом, аналог Google PageRank. Еще интересно, что в этой же главе есть пример, где для выдачи наиболее релевантных ссылок используется нейронная сеть, которая обучается по мере того как пользователь щелкает на понравившиеся ему ссылки.

Читать далее ‘Тоби Сегаран «Программируем коллективный разум»’ »

Про книгу «Django. Разработка веб-приложений на Python»

Про книгу Django. Разработка веб приложений на Python django Помните, недавно я писал о том, что выходит книга про веб-программирование на Python и Django? Так вот, я ее дочитал, оказалась очень хорошей книгой, очень она мне понравилась.

Ее нельзя назвать очень уж глубокой, она именно для тех, кто никогда не имел дела с Django, но для новичков все расставляет по своим местам. Это я уж по себе сужу, потому что сколько пользовался Питоном, но сайты на нем никогда не делал.

Особенно понравилась манера изложения. Авторы в каждой главе книги умудряются не только рассказать как работает Django, но и заодно сделать какое-то сравнительно полезное веб-приложение. Благодаря этому становится понятно и как работает Django, и как это можно использовать. При этом авторы не обращают особого внимания на оформление создаваемого сайта, поэтому приводимый код остается довольно коротким и наглядным.

Читать далее ‘Про книгу «Django. Разработка веб-приложений на Python»’ »

Выходит книга «Django. Разработка веб-приложений на Python»

Выходит книга Django. Разработка веб приложений на Python djangoВот знаете, нравится мне сайт books.ru, они мне теперь присылают оповещения о новых книгах про Python (уж не помню что я там включал). Вот сегодня от них узнал, что выходит новая книга про веб-программирование с помощью Django. Самое интересное, что как раз недавно я его решил поковырять, а то уж больно интересно как это делать сайты на Python, а то от PHP меня как-то всегда воротило.

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

Не читая ее трудно сказать насколько она хорошая, но по содержанию вроде бы неплохая. По крайней мере есть и про использование баз данных, и про Ajax. Смущает, что она всего 456 страниц, есть у меня какое-то предубеждение к техническим книгам тоньше 500-600 страниц, но посмотрим. Здорово, что год издания книги в оригинале тоже 2009.

Но обложка, конечно, что-то с чем-то на Хабре уже развернулась целая дискуссия по поводу того что-то такого делает мужик со змеей. А книг по Python становится все больше и больше, что приятно.

Выходит еще одна книжка по Python

Выходит еще одна книжка по Python python3Ура! Среди книжек по Python ожидается пополнение. Скоро должна выйти книга Программирование на Python 3. Подробное руководство, автор Саммерфилд М. Сначала у меня было скептическое отношение к книге, думал, что там будет обычное описание языка, но после просмотра оглавления понял, что ошибался. Эта книжка, похоже, ориентирована уже на практическое использование Python. По крайней мере меня там заинтересовали главы про работу с XML, включая DOM и SAX, работу с сетями, БД (SQL и DBM). Есть глава про процессы и потоки.

В общем, как выйдет, надо будет купить. Я от такой книжки не отказался бы и по Python 2.6, пока у меня переход на Python 3 не ожидается, хотя кто знает. А то, что книжек по Питону выходит все больше и больше, это радует.

Марк Лутц. Изучаем Python

Марк Лутц. Изучаем Python lutz Дочитал книгу Марка Лутца «Изучаем Python», выход которой ждал еще с ноября прошлого года. Книга, как и ожидал, оказалась просто отличная, особенно понравилась манера изложения автора. Похоже именно так и надо писать технические книги.

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

Например, в главе, посвященной общей работе интерпретатора, начинается все с того, как вообще можно запускать скрипты (двойной клик, командная строка и т.п.), затем рассказывается о том как работает виртуальная машина Python, какие файлы и когда она создает, а затем рассказывается о разновидностях Python – CPython, IronPython, JPython, после чего коротко говорится о способах ускорения скриптов с помощью сторонних библиотек (Psyco, Shedskin C++) и кратко упоминает библиотеки для создания полноценных exe-шников (py2exe, PyInstaller и Freeze). В конце каждой главы находится раздел, где автор описывает возможные ошибки при использовании элементов языка, рассмотренные в текущей главе. Некоторые моменты Лутц повторяет по несколько раз для тупых в течение одной главы, но это не раздражает, а новичкам, думаю, это должно сильно облегчить понимание.

Благодаря такому подходу книгу будет интересно читать и тем, кто с Python уже знаком. Я, например, в книге выяснил для себя вопрос, который меня давно волновал: является ли класс list связанным списком. Оказалось, что нет, внутри языка это обычный массив, в некотором роде аналог std::vector из C++. За одно я узнал о существовании некоторых конструкций вроде «a < X < b«. Некоторые конструкции, которыми пользовался до этого, стали казаться более логичными, чем до прочтения книги. Да и вообще появилось ощущение, что все элементы языка выстроились в законченную мозаику.

Понравилось, что Лутц постоянно сравнивает элементы языка Python с похожими элементами других языков (в основном C). Кроме того автор постоянно делает сноски на возможности Python 2.6 и 3.0, которые еще только планировались, когда писалась книга, и в то же время он пишет в какой версии языка появилась та или иная фича.

Из недостатков могу назвать только цену книги. Я ее покупал на Савелке за 1100 рублей, а, как потом выяснилось, в Интернет-магазинах ее продают за 800 рублей. Я эту книгу покупал нам на кафедру, но теперь подумываю купить ее и себе домой. А может быть просто дождусь, когда ее выложат в инет :)

В общем, книга на твердую пятерку и на нее можно ставить штамп «маст рид». Теперь хотелось бы прочитать еще книгу того же Лутца «Programming Python», но, к сожалению, на русский ее не переводили, а дойдут ли руки до оригинала не знаю.

PS. Оказывается, «Programming Python» все-таки переводили на русский – http://www.ozon.ru/context/detail/id/1299270/. В электронном виде ее выложил Gluek у себя в блоге.

NetBeans IDE for Python

netbeans-ide-for-python

Недавно вышла новая версия NetBeans IDE 6.5 и, в том числе, и сборка под названием NetBeans IDE for Python. Вообще с различными IDE для Python у меня как-то не складывается, и я в последнее время использую только редактор SciTe, но по возможностям мне нравится связка Eclipse + Pydev, но как же она тормозит… да и оперативку съедает только так. Не смотря на то, что NetBeans тоже написана на  Java, решил все-таки посмотреть что там к чему.

Как ни странно, оказалось, что IDE работает сравнительно шустро, и аппетиты к оперативке у нее умеренные – если открыть несколько проектов по одному файлу в каждом, то процесс занимает около 100 Мб. Поэтому я решил поподробнее познакомиться с этой IDE.

Читать далее ‘NetBeans IDE for Python’ »

Новая книга по Python

Новая книга по Python lutzВ декабре обещают издать новую книгу по языку Python, которую написал М. Лутц, а точнее третье издание его книги «Изучаем Python». Полистал содержание и выложенную одну главу вот здесь, имхо, очень даже интересно. Как только она выйдет, надо будет купить, по крайней мере если не домой, то нам на кафедру точно.

А то у нас я одного студента почти заинтересовал Питоном, но чтобы предложить ему что-нибудь почитать в бумажном виде, под рукой не было никакой нормальной книги. Единственная бумажная книга, которую мне в свое время удалось разыскать была «Освой самостоятельно Python за 24 часа» И. Лейнингема. Если честно, очень такая средненькая книжка, может быть для начала и ничего, но в целом мне не понравилась.

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

Но особенно удивительно видеть мышь на обложке книги по Питону. И не надо говорить мне про то, что язык на самом деле Пайтон, я знаю. :)

Python 2.7?

python-2-7

Похоже, что нас ждет еще и Python 2.7. По крайней мере на официальном сайте появились страницы с названием What’s New in Python 2.7 и Python 2.7 Release Schedule. Обе страницы пока еще ничего кроме заголовков не содержат, но само их появление настораживает.

Я думал, что после версии Python 2.6 разработчики переключатся на Python 3.0.

Python 2.6 и 3.0

python-2-6-i-3-0

Недавно вышли первые бета-версии языка Python 2.6 и 3.0. Я не смог удержаться от того, чтобы их не попробовать. В итоге написал довольно большую статью про основные нововведения в новых версиях. Прочитать ее можете здесь.