Программирование метаклассов на Python
Большинство читателей уже знакомо с концепциями объектно-ориентированного программирования: наследованием, инкапсуляцией, полиморфизмом. Но создание объектов заданного класса с определенными родителями обычно представляется исходно заданной операцией
Используйте Psyco, и Python будет работать так же быстро, как и С.
В некоторых отношениях дизайн Python напоминает дизайн Java. Оба используют виртуальную машину, которая интерпретирует псевдотранслируемый байткод. Область, в которой виртуальная машина Java обошла Python - это оптимизация выполнения байткода. Psyco, компилятор обработки Python, помогает "сравнять счет".
Определение страны по IP-адресу.
Статья показывает, как с помощью небольшого модуля можно корректно определить по IP-адресу страну, в которой он зарегистрирован. А класс IPRangeDB послужит примером, как можно организовать хранение информации с быстрым доступом для диаппазона значений.
Метаклассы вчера и сегодня.
В статье описываются приемы, позволяющие получить частично или полностью функциональность метаклассов в старых версиях Python, и о встроенной поддержке метаклассов в Python 2.2.
Итераторы и простые генераторы Python.
В Python 2.2 появилась новая конструкция со своим ключевым словом. Эта конструкция - генератор, а ключевое слово - yield. Хотя генераторы позволяют реализовать новые, мощные и оригинальные идеи, все же не так-то просто понять, как они работают. Эта статья - попытка ненавязчивого объяснения этой конструкции, равно как связанного с ней понятия итераторов.
И опять о функциональном программировании на Python.
Предыдущие статьи коснулись основных понятий функционального программирования (ФП). Эта статья продолжит обсуждение, иллюстрируя дополнительные возможности, главным образом реализованные в библиотеке Xoltar Toolkit: частичное вычисление функций (Currying, карринг), функции высшего порядка (higher-order functions) и другие концепции.
Куда приполз Питон?
Одно из самых крупных изменений касается не самого языка, а процесса его разработки. Хотя (к счастью) Python сохранил "диктаторскую" модель разработки, когда автор языка имеет абсолютно решающее слово в принятии или непринятии любых предложений по расширению/изменению языка или библиотек, сама модель внесения, обсуждения и принятия таких предложений изменилась, став упорядоченной и формализованной.
Функциональное программирование на языке Python.
Хотя пользователи обычно думают о Python как о процедурном и объектно-ориентированном языке, он содержит все необходимое для поддержки полностью функционального подхода к программированию.
В этой статье рассматриваются общие концепции функционального программирования и иллюстрируются способы реализации функционального подхода на Python.
Подходы языка Python - забавный пример оптимизации.
Однажды приятель задал мне, казалось бы, простой вопрос: как лучше всего преобразовать список целых чисел в строку, предполагая, что эти целые числа представлены в формате ASCII. Например, список [97, 98, 99] должен быть преобразован в строку 'abc'. Допустим, что мы хотим написать для этого некоторую функцию.
XML-RPC на языке Python.
В недалеком прошлом задачи взаимодействия систем автоматизации приводили специалистов в уныние своей сложностью. Повсеместная доступность интернета и простота протоколов открыли новую перспективу в этом вопросе, и теперь Вам нужно думать не о сложности задачи, а о том какой инструмент для этого выбрать.
API-спецификация баз данных языка Python, версия 2.0.
Доступ к базе данных реализуется с помощью объектов соединения (connection objects). Модуль должен предоставлять для них следующий конструктор...
Программирование Web-клиента на языке Python.
Программирование Web-клиента - мощная техника для создания запросов в Web. Web-клиент - это любая программа, извлекающая данные с Web-сервера при помощи протокола передачи гипертекста (Hyper Text Transfer Protocol, http в ваших URL).
Python: Питон высокого полета...
На сегодняшний день существует большое количество языков, которые решают как специфические задачи, так и задачи общего назначения. Одни стремятся к скорости, но теряют гибкость и простоту, другие же, наоборот, теряя скорость, выигрывают в эффективности и переносимости. О языке второй группы мне бы и хотелось поговорить сегодня.
Python - основные концепции.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.
Еще о функциональном программировании на Python.
Эта статья продолжает серию статей о функциональном программирования (ФП) на Python. В ней демонстрируется несколько достаточно сложных концепций ФП. Читателю окажется полезным введение в различные подходы программного решения задач.
Из опыта Web-мастера: переползаем на Python.
Осенью прошлого года был запущен сайт www.iso.ru, разработанный компанией ADT. "Движок" сайта, представляющий собой набор CGI скриптов, был написан на Perl. По прошествии полугода эксплуатации возникла необходимость расширить функциональность сайта. Поэтому встал вопрос о выборе языка для написания скриптов...
Текстовая обработка в языке Python. Подсказки для начинающих.
Как и ряд других популярных скриптовых языков, Python является великолепным инструментом для сканирования и манипуляций с текстовыми данными. Эта статья суммирует возможности текстовой обработки языка Python для тех программистов, которые являются новичками в программировании на языке Python. Эта статья объясняет некоторые основные понятия регулярных выражений и предлагает советы, когда стоит (а когда - не стоит) использовать регулярные выражения при обработке текста.
Stackless Python.
Stackless Python представляет собой альтернативную реализацию языка Python, созданную независимым разработчиком Кристианом Тисмером (Christian Tismer). Он начал со стандартного языкового процессора, разработанного изобретателем языка Гвидо ван Россумом (Guido van Rossum), и заменил на свое собственное изобретение Stackless маленькую, но одну из самых важных деталей реализации языка Python. В результате получился Stackless Python. Эта статья представляет вашему вниманию технологический подход Тисмера и отражает его значение.