Функциональная программа. Функция: определение и вызов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Функциональная программа. Функция: определение и вызов

Поиск

Функциональная программа

 

В математике функция отображает объекты из одного множества(множества определения функции)в другое(множество значений функции).Математические функции(их называют чистыми) "механически",однозначно вычисляют результат по заданным аргументам.Чистые функции не должны хранить в себе какие-либо данные между двумя вызовами.Их можно представлять себе черными ящиками,о которых известно только то,что они делают,но совсем не важно,как.

 

Программы в функциональном стиле конструируются как композиция функций.При этом функции понимаются почти так же,как и в математике:они отображают одни объекты в другие.В программировании"чистые"функции-идеал,не всегда достижимый на практике.Практически полезные функции обычно имеют побочный эффект:сохраняют состояние между вызовами или меняют состояние других объектов.Например,без побочных эффектов невозможно представить себе функции ввода-вывода.Собственно,такие функции ради этих"эффектов"и используются.Кроме того,математические функции легко работают с объектами,требующими бесконечного объема информации(например,вещественные числа).В общем случае компьютерная программа может выполнить лишь приближенные вычисления.

 

Кстати,бинарные операции"+", "-", "*", "/",которые записываются в выражениях,являются"математическими"функциями над двумя аргументами--операндами.Их используют настолько часто,что синтаксис языка программирования имеет для них более короткую запись.Модуль operator позволяет представлять эти операции в функциональном стиле:

 

>>> from operator import add, mul

>>> print add(2, mul(3, 4))

 

 


 


Как уже говорилось,определить функцию вPythonможно двумя способами:с помощью оператора def и lambda-выражения.Первый способ позволяет использовать операторы.При втором-определение функции может быть только выражением.

 

Забегая вперед,можно заметить,что методы классов определяются так же,как и функции.Отличие состоит в специальном смысле первого аргумента self(в нем передается экземпляр объекта).

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 73; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.128 (0.006 с.)