Как стать автором
Обновить
399.15

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Python, философия дизайна — Guido van Rossum (часть 1)

Время на прочтение5 мин
Количество просмотров9.7K
image
Это первая часть статьи из официального блога автора любимого всеми нами языка. Поэтому повествование ведется от лица самого Гуидо ван Россума. Вторая часть здесь.

Дальнейший текст поможет нам нырнуть глубже в историю языка Python. Тем не менее, перед тем, как мы сделаем это, мне бы хотелось заострить внимание на философских вещах, которые помогли мне принимать решения, пока я разрабатывал дизайн и структуру Python.
А дальше?
Всего голосов 80: ↑73 и ↓7+66
Комментарии22

Кузявые ли бутявки, т.е. пишем морфологический анализатор на Python

Время на прочтение8 мин
Количество просмотров54K
Морфологический анализатор для русского языка — это что-то заумное? Программа, которая приводит слово к начальной форме, определяет падеж, находит словоформы — непонятно, как и подступиться? А на самом деле все не так и сложно. В статье — как я писал аналог mystem, lemmatizer и phpmorphy на Python, и что из этого получилось.
Читать дальше →
Всего голосов 115: ↑109 и ↓6+103
Комментарии44

Простейшее рисование с помощью PIL

Время на прочтение2 мин
Количество просмотров59K
Недавно потребовалось мне создавать картинку на лету. Решил спользовать библиотеку для питона PIL. Она поддерживает кучу форматов, а также множество цветовых систем (RGB, RGBA и более простые). Итак, рассмотрим простейшее, как создать рисунок и что-либо на нем нарисовать.
Читать дальше →
Всего голосов 58: ↑50 и ↓8+42
Комментарии24

Истории

NVIDIA CUDA(сиквел) — Настройка PyCUDA

Время на прочтение4 мин
Количество просмотров18K
image
В продолжение темы Настройка Ubuntu 8.10 для кодинга под NVIDIA CUDA, я решил наладить себе рабочее место для использования одного из моих любимых языков программирования — Python. Для этого существует отличный набор библиотек PyCUDA, позволяющий реализовывать все прелести NVIDIA CUDA API с помощью удобного и красивого кода.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии67

Вышла первая версия Zine — клона Wordpress на Python.

Время на прочтение1 мин
Количество просмотров3K
Armin Ronacher, создатель небезызвестных python-пакетов Pygments (подсветка синтаксиса) и Jinja2 (django-подобный движок шаблонов) выпустил под рождество новое творение — движок для блога Zine, который внешне является клоном Wordpress.

Читать дальше →
Всего голосов 57: ↑52 и ↓5+47
Комментарии36

Скрипты Python против Bash

Время на прочтение4 мин
Количество просмотров119K
Не секрет, что в плане автоматизации каких-либо простых действий и тот, и другой вариант скриптов — мощное орудие. Прочел я эту статейку, и подумал — а чем мы хуже? Возьму, да и опишу, как автоматизировать простые консольные действия с помощью python-скриптов, даром что это тема довольно широкая.
Интересно?
Всего голосов 75: ↑69 и ↓6+63
Комментарии93

Emacs и Python, Python и Emacs

Время на прочтение5 мин
Количество просмотров22K
В сети часто возникают разговоры на тему «Python best IDE — does it really exist?». Для примера — недавний Q&A в группе Python community на LinkedIn (к сожалению, просмотр возможен только для пользователей группы). Если вкратце, то мир вертится вокруг:

  • Eclipse + PyDev — похоже, что самое популярное из свободных решений.
  • Komodo IDE — по отзывам отличное средство, но не free.
  • WingIDE — лучший autocompletion для Python, но опять-таки non-free.
  • Eric — IDE на Qt и QScintilla, пробовал только на Windows, видно недопробовал — показалась неудобной. Если у кого есть полезная информация и ссылки — поделитесь, пожалуйста, в комментариях.
  • NetBeans 6.5 — готовится к выходу встроенная поддержка Python в этой IDE версии 6.5, ждем с нетерпением!
  • Vim — для фанатов Vim ничего лучше быть, понятно, не может — после обработки напильником, правда.
  • Emacs — аналогично Vim — для пользователей, которые много времени проводят в Emacs, он дает лучший user-experience при разработке на любом языке.


Если первые четыре решения предоставляют IDE для Python прямо из коробки, то последние два требуют определенных настроек. Для Vim не знаю, но для Emacs надо потратить не меньше 6 часов поисков по интернету и экспериментов перед тем как будет получена удобная и (очень) функциональная среда для Python.

Что до меня, то весьма долгое время я работал с Eclipse + PyDev — вполне работоспособное решение. Но после окончательного переезда с Windows в Ubuntu (всем ставить шрифты Liberation в Убунте!), я решил таки завершить начатое уже давно — начать использовать Emacs не только как GTD-органайзер, IRC-клиент и редактор «когда не хочется запускать Eclipse».

История данных шести часов под хабракатом (история предполагает, что читающие хоть немного знакомы с Emacs и Python, а также носит Ubuntu(Debian)-specific оттенок, когда дело касается установки пакетов).

Читать дальше →
Всего голосов 54: ↑51 и ↓3+48
Комментарии56

Ещё немного о компоновке и виджетах

Время на прочтение9 мин
Количество просмотров5K
Это продолжение серии статей о PyGTK.

В предыдущей статье мы подготовили Windows и Ubuntu для разработки PyGTK приложений, работали с редактором интерфейсов Glade, рассмотрели горизонтальный и вертикальный типы компоновки, использовали область прокрутки и текстовый редактор, вертикальную группу кнопок, кнопки, и, немного, сигналы. В результате у нас получилось первое настоящее кросплатформенное приложение, которое успешно работало в Ubuntu и Windows. Если вы не читали предыдущую статью, я рекомендую вам начать именно с неё.

В этой статье мы создадим простую игру, а по ходу дела ещё немного узнаем о компоновке, продолжим знакомство с виджетами PyGTK, и поработаем с диалогами.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии13

Сила и красота декораторов

Время на прочтение5 мин
Количество просмотров83K
Одним из самых сложных для понимания и осознания элементов языка является декоратор, хотя по сути это очень простая вещь, доступная для понимания даже начинающему программисту. Новых Эверестов я не открываю, а лишь предлагаю краткий обзор возможностей и несколько типичных примеров использования. Этакий короткий экскурс в метапрограммирование на питоне.

Upd 1: изменил несколько категоричное утверждение о несходстве паттерна Декоратор и одноимённой языковой конструкции на более мягкое.

Читать дальше →
Всего голосов 98: ↑97 и ↓1+96
Комментарии30

Python 3. Финальная версия языка.

Время на прочтение1 мин
Количество просмотров810
Полный список изменений можно посмотреть на официальном сайте. Для краткого ознакомления можно посмотреть на OpenNews. Скачать можно тут
Всего голосов 34: ↑33 и ↓1+32
Комментарии10

Консольные хитрости Питон: история команд + автодополнение

Время на прочтение3 мин
Количество просмотров19K
Если вы разрабатываете программы на Питоне, то, уверен, вы хорошо знакомы с работой с ним в интерактивном режиме. Это самый простой и удобный способ проверить пришедшую в голову идею, запустить библиотечную функцию, пошагово прогнать какой-то алгоритм и т.п. без создания лишних мусорных файлов. Вобщем питоновская консоль — очень мощная и удобная вещь. У меня постоянно напрашивается сравнение с юникс-шеллом в языке. Если бы не две ложки дегтя в этой бочке меда: команду каждый раз приходится набирать заново, вместо того, чтобы просто нажать стрелку вверх и подправить команду, а также приходится писать много лишнего, что только добавляет опечаток и необходимости повторного набора. Вобщем я хочу как в баше: история + автодополнение.
Я удивлен почему это еще не сделано по умолчанию. Кстати, очень может быть, что это уже реализовано в вашей системе, и вам это совершенно неактуально — тогда можете совершенно смело пропустить эту статью. Возможно это пригодится кому-то другому. На попавшихся мне Macos, Freebsd, Debian и Fedora этого не было.

К счастью, это легко исправить.
Всего голосов 50: ↑46 и ↓4+42
Комментарии34

Задача решена. Но хорош ли код?

Время на прочтение1 мин
Количество просмотров1K
Я преподаю веб-технологии в ВолгГТУ.
См ранее: (Структура курса, Дизайн, HTML, Все лекции).

Изучаем html+css+пишем лабораторные с применением LAMP.
Я не настаиваю на использовании PHP, хотя и считаю его одним из наиболее распространенных и востребованных средств разработки.

Мой студент, Кирилл Киндюк, выразил желание 3 ЛР написать на Python. Поскольку ни одного выраженного недостатка у этого языка нет (ну разве что кроме сложностей с бесплатными хостингами), я разрешил.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии56

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

P4X: удобство E4X в Python

Время на прочтение1 мин
Количество просмотров715
Когда я в первый раз увидел E4X (ECMAScript for XML), я, признаться, сразу в него влюбился и сильно расстроился, что для Python нет какой-либо библиотеки, эмулирующей подобный синтаксис. Но тут вот недавно случайно наткнулся на замечательнейшую вещь — P4X.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии16

CorePy: программирование на ассемблере в Python

Время на прочтение1 мин
Количество просмотров5.8K
CorePy является библиотекой для разработки на уровне ассемблера для процессоров x86, Cell BE и PowerPC. Простой API позволяет разрабатывать сложные высокопроизводительные приложения, использующие особенности процессора, включая многоядерность и потоковые расширения, такие как SSE, VMX и SPU, обычно недоступные из языков высокого уровня.

Основанный на передовой среде выполнения, CorePy позволяет разработчикам писать и выполнять низкоуровневые приложения непосредственно в коммандной строке или встраивать в Python приложения. За счет сокращения времени разработки низкоуровневых приложений CorePy значительно уменьшает существующий барьер при разработке низкоуровневых приложений.

CorePy является инструментом общего назначения, который можно применять при разработке широкого спектра приложений, включая разработку игр, мультимедийных систем, научных и высокопроизводительных приложений а также встраиваемых приложений. Эта библиотека использовалась для оптимизации приложений под процессоры x86, систем на PowerPC 970 и Cell BE и регулярно являлась более производительнее компилируемых языков для вычислительных задач (как обычное кодирование на asm :))

Один комментарий пользователя после нескольких часов работы с CorePy подытожил мнение большинства людей:

«CorePy опять сделал программирование на ассемблере интересным занятием!» (Alex Breuer)

CorePy был разработан Крисом Мюллером (Chris Mueller), Эндрю Фридли (Andrew Friedley) и Беном Мартином (Ben Martin). Значительный вклад внес Эндрю Ламсдейн (Andrew Lumsdaine) из Open Systems Lab университета Индианы.

CorePy это open source проект, доступный по лицензии BSD.
Всего голосов 48: ↑44 и ↓4+40
Комментарии25

Python плагин для IntelliJ IDEA

Время на прочтение1 мин
Количество просмотров20K
С неделю назад прочитал приятную новость про «размораживание» разработки Python плагина для IDEA. Памятуя про позитивные чувства, которые вызвало общение с IDEA 6 версии в роли Java-IDE, решил попробовать этот плагин, благо новая сборка уже доступна для загрузки и регулярно обновляется.

В общем, смею вам доложить — впечатления положительные. Очень рекомендую попробовать всем, так или иначе связанным с Python-разработкой.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии34

Python 3. Соображения.

Время на прочтение1 мин
Количество просмотров3K
Вот пайтон и становится нормальным зрелым языком.
  • избавились от большинства мусора в стандартной библиотеке
  • перестали дифференцировать классы на new-style и old-style
  • перебороли путаницу между юникодом и не-юникодом
  • прилизали синтаксис, в том числе, в отрасли исключений
  • причесали перегружаемые операторы
  • со своей перегрузкой операторов, множественным наследованием, метаклассами и еще какими-то крутыми фичами пайтон — довольно мощный язык. По выразительности, я б сказал, на уровне С++.
А ведь я уж подумывал перейти на руби. Теперь не буду, когда 3.0 не за горами. Однако есть и то, что мне не нравится в Python, даже в третьем:
  • куча мусора, особенно в top-level scope. Многое стоило б рассовать по пакетам да по классам
  • со своей перегрузкой операторов, множественным наследованием, метаклассами и еще какими-то странными фичами пайтон — довольно сложный язык. По запутанности, я б сказал, на уровне C++
  • отсутствет встроенная xslt-библиотека. В библиотеке валяется все вплоть до работы со звуком и даже готовый вебсервер целиком, но не xslt
  • и теперь интересно, когда Джанго подружится с пайтон 3.0.
Ссылки по теме:
Всего голосов 72: ↑63 и ↓9+54
Комментарии92

Компоновка — начало начал

Время на прочтение5 мин
Количество просмотров15K
В этой статье я расскажу о компоновке элементов интерфейса в PyGTK. Мы будем использовать дизайнер интерфейсов Glade и сделаем первое кросплатформенное приложение на PyGTK.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии25

О блоге PyGTK

Время на прочтение2 мин
Количество просмотров5K
С удивлением обнаружил, что на хабре вообще ничего нет о таком замечательном кросплатформенном GUI фреймворке, как PyGTK, хотя статьи по Питону бывают регулярно. Ну что ж, исправим это недоразумение :-)

Чем же так хорош PyGTK и о чём я собираюсь писать в этом блоге ?
Всего голосов 66: ↑55 и ↓11+44
Комментарии46

Консервация объектов в Python

Время на прочтение2 мин
Количество просмотров45K
В определенный момент любому Питон-программисту понадобится запаковать какой-то объект и спрятать его до лучших времен. Скажем, в config-файл. Или передать через сокет. Как это сделать? Разумеется, можно написать небольшой класс, который будет генерировать и парсить XML-код (кстати, следующая статья как раз будет об этом), но это — слишком большая морока.

Нет! Наш выбор — Pickle!
Но что это?
Всего голосов 40: ↑28 и ↓12+16
Комментарии45

Вклад авторов

Работа

Python разработчик
122 вакансии
Data Scientist
61 вакансия