Функция это программа в результате работы которой выводится

В этой части мы изучим функции — составные инструкции, которые могут принимать данные ввода, выполнять указания и возвращать данные вывода. Функции позволяют определять и повторно использовать определенную функциональность в компактной форме.

Вызвать функцию — значит передать ей входные данные, необходимые для выполнения и возвращения результата. Когда вы передаете функции входные данные, это называется передача параметра функции.

Функции в Python похожи на математические функции из алгебры. Например, в алгебре функция определяется как-то так:

f(x) = x * 2

Левая часть определяет функцию f , принимающую один параметр, x . А правая часть — это определение функции, которое использует переданный параметр x , чтобы произвести вычисление и вернуть результат. В этом случае значением функции является ее параметр, умноженный на два.

Как в Python функция записывается следующим образом: имя_функции(параметры_через_запятую) . Чтобы вызвать функцию, после ее имени нужно указать круглые скобки и поместить внутрь параметры, отделив каждый из них запятой. Для создания функций в Python выберите ее имя, определите параметры, укажите, что функция должна делать и какое значение возвращать.

Рекурсивные функции с текстовым выводом. ЕГЭ информатика 2021.


def имя_функции(параметры): определениие_функции

Математическая функция f(x) = x * 2 в Python будет выглядеть вот так:

def f(x): return x * 2

Ключевое слово def сообщает Python, что вы определяете функцию. После def вы указываете имя функции; оно должно отвечать тем же правилам, что и имена переменных. Согласно конвенции, в имени функции нельзя использовать заглавные буквы, а слова должны быть разделены подчеркиванием вот_так .

Как только вы присвоили своей функции имя, укажите после него круглые скобки. Внутри скобок должен содержаться один или несколько параметров.

После скобок ставится двоеточие, а новая строка начинается с отступа в четыре пробела. Любой код с отступом в четыре пробела после двоеточия является телом функции. В этом случае тело нашей функции состоит только из одной строки:

return x * 2

Ключевое слово return используется для определения значения, которое функция возвращает при вызове.

Чтобы вызвать функцию в Python, мы используем синтаксис имя_функции(параметры, через, запятую) .

Ниже описан вызов функции f из предыдущего примера с параметром 2 .

Консоль ничего не вывела. Можно сохранить вывод вашей функции в переменной и передать ее функции print .

# Продолжение# предыдущего примераdef f(x): return x * 2result = f(2)print(result) # 4

Вы можете сохранить результат, возвращаемый вашей функцией, в переменной и использовать это значение в программе позднее.

def f(x): return x + 1 z = f(4)if z == 5: print(«z равно 5»)else: print («z не равно 5»)

У функции может быть один параметр, несколько параметров или вообще их не быть. Чтобы определить функцию, не требующую параметров, оставьте круглые скобки пустыми.

def f(): return 1 + 1 result = f()print(result) # 2

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

41 Рекурсия в Python. Рекурсивная функция Часть 1


def f(x, y, z): return x + y + z result = f(1, 2, 3)print(result) # 6

Наконец, функция не обязана содержать инструкцию return. Если функции нечего возвращать, она возвращает значение None .

Читайте также:
Базовый уровень программы это

def f(): z = 1 + 1result = f()print(result) # None

Обязательные и необязательные параметры ¶

Функция может принимать параметры двух типов. Те, что встречались вам до этого, называются обязательными параметрами. Когда пользователь вызывает функцию, он должен передать в нее все обязательные параметры, иначе Python сгенерирует исключение.

В Python есть и другой вид параметров — опциональные. Опциональные параметры определяются с помощью следующего синтаксиса: имя_функции(имя_параметра = значение_параметра) . Как и обязательные, опциональные параметры нужно отделять запятыми. Ниже приведен пример функции, в коде которой используется опциональный параметр.

def f(x=2): return x**x print (f()) # 4print (f(4)) # 16

Сначала функция вызывается без передачи параметра. Так как параметр необязательный, x автоматически становится равен 2 , и функция возвращает 4 .

Затем та же функция вызывается с параметром 4 . То есть x будет равен 4 и функция вернет 16 . Вы можете определить функцию, которая принимает как обязательные, так и опциональные параметры, но обязательные нужно определять в первую очередь.

def add(x, y=10): return x + yresult = add(2)print(result)

Источник: letpy.com

Уроки 43 — 44
§25. Функции

Представьте себе, что вы заказываете товар с доставкой по телефону или в интернет-магазине. Если говорить на языке программистов, вы вызываете вспомогательный алгоритм. Но, в отличие от процедуры, исполнитель этого алгоритма не только выполняет какие-то действия, но и возвращает результат — товар, который вам привозит курьер. Это второй тип вспомогательных алгоритмов (подпрограмм). Такие подпрограммы называются функциями.

Функция — это вспомогательный алгоритм, который возвращает результат (число, строку символов и др.).

Построим функцию, которая возвращает среднее арифметическое двух целых чисел.

Какой тип данных нужно использовать для хранения среднего арифметического двух целых чисел?

Функция принимает два параметра — исходные целые числа и возвращает результат — вещественное число:

В заголовке функции указывают тип результата — перед именем функции в алгоритмическом языке записано ключевое слово вещ. В языке Паскаль заголовок функции начинается словом function, а после скобок, в которых перечисляются параметры, через двоеточие записывают тип результата — real (вещественное число).

Используя дополнительные источники, выясните, что означает английское слово average, от которого образовано название функции Avg.

Результат функции (возвращаемое значение) нужно записать в специальную переменную. В алгоритмическом языке она называется знач, а в Паскале совпадает с именем функции.

При вызове функции нужно сказать, где сохранить полученный от неё результат. Например, можно записать его в отдельную переменную того типа, который возвращает функция:

Результат функции можно сразу вывести на экран:

вывод Avg(4,8) writeln(Avg(4,8));

Что будет выведено на экран в результате работы этого фрагмента программы?

вывод sr+Avg(7,ll) write(sr+Avg(7,11));

Функции можно передавать не только аргументы-константы, но также имена переменных и арифметические выражения:

Наша функция Avg возвращает вещественное число, поэтому вызовы этой функции можно применять везде, где разрешено использовать вещественное число, в том числе в арифметических выражениях, условных операторах и циклах. Например:

Найдите значения переменных а, b и х, при которых в результате работы этого фрагмента программы будет выведено сообщение «Да!»:

Найдите начальные значения переменных а, b и х, при которых этот цикл выполнится ровно четыре раза:

Читайте также:
Как писать в программе adobe reader

Следующая страница Функции в других языках программирования

Cкачать материалы урока

Источник: xn—-7sbbfb7a7aej.xn--p1ai

Python. Функция. Понятие функции. Общая форма. Примеры объявления и использования функций

Функция. Понятие функции. Общая форма. Примеры объявления и использования функций

Поиск на других ресурсах:

1. Что такое функция? Определение функции. Преимущества применения функций

Функция – это средство (способ) группирования фрагментов программного кода таким образом, что этот программный код может вызваться многократно с помощью использования имени функции.

Использование функций в программах на Python дает следующие взаимосвязанные преимущества:

  • избежание повторения одинаковых фрагментов кода в разных частях программы;
  • уменьшение избыточности исходного кода программы. Как следствие, уменьшение логических ошибок программирования;
  • улучшенное восприятие исходного кода программы в случаях, где вместо блоков многочисленных инструкций (операторов) вызываются имена готовых протестированных функций. Это, в свою очередь, также уменьшает количество ошибок;
  • упрощение внесения изменений в повторяемых блоках кода, организованных в виде функций. Достаточно внести изменения только в тело функции, тогда во всех вызовах данной функции эти изменения будут учтены;
  • с помощью функций удобно разбивать сложную систему на более простые части. Значит, функции – удобный способ структурирования программы;
  • уменьшение трудозатрат на программирование, а, значит, повышение производительности работы программиста.

В языке программирования Python для функций характерны следующие особенности:

  • функции могут возвращать результат;
  • функции могут получать входные параметры, влияющие на полученный результат.
2. Инструкция def . Общая форма объявления функции в Python. Создание функции

Чтобы функцию можно было использовать в программе, ее нужно создать (объявить). В языке Python создание (или объявление) функции выполняется с помощью инструкции def . Если интерпретатор достигает инструкции def , он создает новый объект функции и связывает упакованный код функции с ее именем.

Функция может возвращать или не возвращать значение. Если функция не возвращает значения, то считается, что она автоматически возвращает объект None , который игнорируется. В этом случае инструкция return необязательна. Общая форма такой функции следующая:

def (arg1, arg2, . argN): statement1> statement2> . statementN>

  • name – имя функции, с которым будет связан объект функции и список параметров ( arg1 , arg2 , …, argN ). Объект функции получает имя name и создается во время выполнения (в Python нет времени компиляции);
  • arg1 , arg2 , argN – список параметров, которые может получать функция. Функция также может быть без параметров;
  • statement1 , statement2 , statementN – одна или несколько инструкций, которые следуют с отступлениями относительно def .

Если функция возвращает значение, то ее общая форма следующая

def (arg1, arg2, . argN): statement1> statement2> . statementN> return

  • name – имя функции;
  • arg1 , arg2 , …, argN – параметры функции (если такие есть);
  • statement1 , statement2 , statementN – инструкции, которые реализованы в теле функции;
  • value – значение, возвращаемое функцией.

Определение функции с помощью инструкции def может быть реализовано внутри других инструкций, например, внутри инструкции if .

3. Вызов функции

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

Например. Пусть объявлена следующая функция

Читайте также:
Как настроить программу morphvox pro

def Mult2(a, b): return a*b

тогда ее вызов может быть, например, таким

res = Mult2(7,9)

В результате, значение res = 63 .

Интерпретатор, встретив инструкцию def выполняет следующие действия:

  • создает новый объект функции с именем Mult2 ;
  • упаковывает программный код функции и связывает объект с именем Mult2 ;
  • вызывает функцию в программе.

res = Mult2(‘abc’,3)

то res = ‘abcabcabc’ .

4. Пример объявления и использования функции без параметров

Ниже приведен пример объявления и использования функции, которая не содержит параметров. Функция носит имя Hello и выводит на экран текст «Hello world!» 3 раза.

# Функции без параметров. # Объявить функцию с именем Hello(), # которая выводит «Hello world!» на экран. def Hello(): print(«Hello world!») # Вызвать функцию Hello() в цикле while i=0 while i

5. Пример объявления и использования функции, которая получает 1 параметр

Ниже приведен пример создания и использования функции Print3() , которая получает один параметр и выводит его на экран 3 раза.

# Объявить функцию с именем Print5(), # которая выводит значение параметра t на экран 3 раза def Print3(t): i=0 while iprint(t) i=i+1 # Вызвать функцию Print3() для разных типов параметров Print3(‘abc’) Print3(2.85) Print3(-88) Print3(True)

Результат выполнения программы

abc abc abc 2.85 2.85 2.85 -88 -88 -88 True True True

Как видно из результата, в языке Python тип параметра, который передается в функцию, может быть любым. Интерпретатор распознает его по объекту, который передается в качестве параметра.

6. Пример объявления и использования функции, которая получает параметр и возвращает результат

Ниже приводится пример функции, которая получает параметр и возвращает результат. Функция осуществляет реверсирование строки.

Пример 2. Демонстрируется функция Summ() , которая получает два параметра a , b . Функция возвращает результат операции + над параметрами.

# Полиморфизм в функциях # Функция Summ() def Summ(a,b): return a+b # Вызов функции Summ() для разных типов объектов # 1. Для чисел x = 18 y = 3 z = Summ(x,y) # z = 40 # 2. Для строк s1 = «Hello » s2 = «world!» s3 = Summ(s1,s2) # s3 = ‘Hello world!’

9.

Использование локальных переменных внутри функций. Пример

Внутри функции могут быть объявлены локальные переменные. Локальная переменная – это имя (объект), которое доступно только внутри определения функции (инструкции def). Локальная переменная существует только во время выполнения функции.

В теле любой функции локальные переменные определяются на основе следующих признаков:

  • если переменная размещается в левой части операции присваивания;
  • если переменная (имя) есть параметр (аргумент) функции;
  • если переменная есть итератором в цикле for .

Пример. В примере создается функция SquareTriangle() , которая вычисляет площадь треугольника по его сторонам. Длины сторон треугольника с именами a , b , c есть входными параметрами функции. Если с a , b , c невозможно образовать треугольник, то функция возвращает значение None .

Затем происходит вызов функции SquareTriangle() и обработка результата возврата из функции.

# Вычислить площадь треугольника по длинам его сторон a,b,c # Импортировать математическую библиотеку import math def SquareTriangle(a,b,c): if (((a+b)or ((b+c)or ((a+c)return None else: p = (a+b+c)/2 # это локальная переменная p s = math.sqrt(p*(p-a)*(p-b)*(p-c)) # локальная переменная s return s # Использование функции SquareTriangle() s = SquareTriangle(5,4,5) if (s==None): print(«The values of a, b, c is incorrect.») else: print(«s color: #0000ff;»>SquareTruangle() создаются две локальные переменные с именами p, s.

Результат выполнения программы

s = 9.16515138991168

Источник: www.bestprog.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru