|
|
|
|
|
|
|
Главная » Работа с Python
© Copyright 2004 Дэйвид Мертц Автор: David Mertz, Ph.D., Applied Metaphysician, Gnosis Software, Inc.
Перевод: Яков Маркович, ведущий инженер-исследователь "Intersoft Lab"
Хотя пользователи обычно думают о Python как о процедурном и объектно-ориентированном языке, он содержит все необходимое для поддержки полностью функционального подхода к программированию.
В этой статье рассматриваются общие концепции функционального программирования и иллюстрируются способы реализации функционального подхода на Python.
Что такое Python?
Python - свободно распространяемый, очень высокоуровневый интерпретируемый язык, разработанный Гвидо ван Россумом (Guido van Rossum). Он сочетает прозрачный синтаксис с мощной (но необязательной) объектно-ориентированной семантикой. Python доступен почти
...
Читать дальше »
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Автор: Дэвид Мертц (David Mertz), разработчик, Gnosis Software Inc.
Перевод: Intersoft Lab
Авторские права: market@iso.ru
Программирование как утверждение, а не как инструкция
Объектно-ориентированные и прозрачные интроспективные возможности Python позволяют легко создавать декларативные мини-языки для задач программирования. В этой статье Дэвид рассматривает не столько использование Python для интерпретации и транслирования других специализированных языков (хотя такое возможно), сколько то, как сам Питоновский код может быть удобно сведен к ряду декларативных элементов. Он покажет, как разработчики могут пользоваться декларативной технологией, чтобы четко и ясно устанавливать требования к приложениям, позволяя при этом "закулисной" структуре выполнять тяжелую работу.
Когда большинство программистов
...
Читать дальше »
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Строки документации
Возможно, вы заметили в наших многочисленных примерах с dir() один атрибут среди множества других - __doc__. Этот атрибут - строка, которая содержит комментарии, описывающие объект. Python называет ее строкой документации, или docstring, и вот, как она работает. Если первая директива определения модуля, класса, метода или функции - строка, то эта строка оказывается связанной с объектом в качестве его атрибута __doc__. Посмотрите
...
Читать дальше »
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Строки документации
Возможно, вы заметили в наших многочисленных примерах с dir() один атрибут среди множества других - __doc__. Этот атрибут - строка, которая содержит комментарии, описывающие объект. Python называет ее строкой документации, или docstring, и вот, как она работает. Если первая директива определения модуля, класса, метода или функции - строка, то эта строка оказывается связанной с объектом в качестве его атрибута __doc__. Посмотрите, например, на строку документации для объекта __builtins__. Воспользуемся Питоновской директивой print, чтоб
...
Читать дальше »
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Патрик О'Брайен
Перевод: Intersoft Lab
Как изучать объекты Python
Интроспекция предоставляет полезную информацию об объектах вашей программы. Python, динамический, объектно-ориентированный язык программирования, обеспечивает потрясающую поддержку интроспекции. В этой статье демонстрируются многие из его возможностей, начиная самыми простыми видами помощи и заканчивая более сложными формами изысканий.
Что такое интроспекция?
В повседневной жизни, интроспекция - это проявление самоанализа. Интроспекция основывается на изучении собственных мыслей, ощущений, мотивов и поступков. Великий философ Сократ провел большую часть своей жизни, занимаясь самоанализом и призывая своих сограждан-афинян следовать своему примеру. Он даже утверждал, что для него самого "непро
...
Читать дальше »
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
© Copyright 2004 Дэйвид Мертц
Автор: Дэвид Мертц (David Mertz)
Перевод: Intersoft Lab
Авторские права: market@iso.ru
Обобщение полиморфизма с помощью мультиметодов
Во многом универсальность объектно-ориентрованного программирования (ООП) возможна благодаря полиморфизму: в надлежащем контексте объекты разных видов могут вести себя различным образом. Однако большая часть ООП - это единичная диспетчеризация, то есть единственный выделенный объект определяет, какую ветвь кода избрать. Концептуально более общий подход - позволить всем аргументам, передаваемым в функцию/метод, определять ее специализацию. В этой статье рассматривается реализация множественной диспетчеризации в Python и показано, как это улучшает программы.
...
Читать дальше »
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Автор: Дэвид Мертц (David Mertz), разработчик, Gnosis Software, Inc.
Перевод: Intersoft Lab
Функциональное программирование на Python стало отложенным
В Python 2.2 были введены простые генераторы, а стандартные циклы перепродуманы в терминах итераторов. В Python 2.3 генераторы становятся стандартными (нет необходимости в _future_), а новый модуль itertools добавлен для гибкой работы с итераторами. Модуль itertools, по существу, это набор комбинаторных функций высшего порядка, которые, однако, работают с итераторами с отложенным вычислением, а не с конечными списками. В этой статье Дэвид рассматривает этот новый модуль, показывая выразительную силу, появившуюся с комбинаторными итераторами.
Объяснение новой концепции
Понятие итераторов было введено в Python версии 2.2
...
Читать дальше »
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Автор: David Mertz, Ph.D., Applied Metaphysician, Gnosis Software, Inc
Перевод: Intersoft Lab
Предыдущие статьи коснулись основных понятий функционального программирования (ФП). Эта статья продолжит обсуждение, иллюстрируя дополнительные возможности, главным образом реализованные в библиотеке Xoltar Toolkit: частичное вычисление функций (Currying, карринг), функции высшего порядка (higher-order functions) и другие концепции.
Что такое python?
Python - свободно доступный, интерпретируемый язык программирования высокого уровня, разработанный Гвидо ван Россумом (Guido van Rossum). Он объединяет ясный синтаксис с мощной (но необязательно) объектно-ориентированной семантикой. Python может быть установлен на любой платформе и обеспечивает прекрасную совместимость при переходе с одной платформы на другую.
...
Читать дальше »
|
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Автор: David Mertz, Ph.D., Applied Metaphysician, Gnosis Software, Inc
Перевод: Intersoft Lab
Эта статья продолжает серию статей о функциональном программирования (ФП) на Python. В ней демонстрируется несколько достаточно сложных концепций ФП. Читателю окажется полезным введение в различные подходы программного решения задач.
Что такое Python?
Python - свободно доступный, интерпретируемый язык программирования высокого уровня, разработанный Гвидо ван Россумом (Guido van Rossum). Он объединяет ясный синтаксис с мощной (но необязательно) объектно-ориентированной семантикой. Python может быть установлен на любой платформе и обеспечивает прекрасную совместимость при переходе с одной платформы на другую.
Переходим на функциональное программирование?
В предыдущей статье "Функциональное программирование на Python" бы
...
Читать дальше »
|
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
|