Функции в Python

Содержание

Слайд 2

В программировании фукции принимают аргументы и возвращают значение. Функции в Python

В программировании фукции принимают аргументы и возвращают значение. Функции в Python

определяются с помощью инструкции def:

Функции позволяют упаковывать часть кода для его последующего повторного вызова. В примере выше определена функция с именем sum, которая принимает два параметра x и y, и возвращает результат их суммы. Обратившись к этой функции по имени и задав параметры, мы можем получить результат:

Слайд 3

Инструкция return позволяет вернуть значение, которое нам необходимо. Это требуется для

Инструкция return позволяет вернуть значение, которое нам необходимо. Это требуется для того, чтобы

получить определенный результат и затем дальше использовать его в программе.

Функция может быть любой сложности, внутри конструкции def -> return, мы можем написать любой код. Смысл в функциях заключается в том, чтобы не писать один и тот же код повторно, а просто, в нужный момент, вызывать заранее написанную функцию. Так же функция может быть без параметров или может не возвращать какое-то конкретное значение или не заканчиваться инструкцией return вовсе:

Код под инструкцией def будет относиться к функции до тех пор, пока он вложен в эту инструкцию, то есть отступает от def.

Слайд 4

ФУНКЦИИ БЫВАЮТ РАЗНЫХ ТИПОВ: Глобальные функции - такие функции доступны из

ФУНКЦИИ БЫВАЮТ РАЗНЫХ ТИПОВ:

Глобальные функции - такие функции доступны из любой части

кода файла, в котором они написаны. Глобальные функции доступны из других модулей, но об этом мы расскажем в разделе "Подключение модулей".
Слайд 5

Локальные функции - функции, объявленные внутри других функций. Вызвать их можно

Локальные функции - функции, объявленные внутри других функций. Вызвать их можно только

внутри функции, в которой они объявлены. Их удобно использовать, если необходима небольшая вспомогательная функция, которая больше нигде не используется.
Лямбда-функции - особые, анонимные функции, имеющие ряд ограничений, по сравнению с обычными функциями. Они локально решают единственную задачу. Применение такой функции выглядит, как выражение, давайте посмотрим на примере:
Слайд 6

Обычно, лямбда-функции применяют при вызове функций, которые в качестве аргументов содержат

Обычно, лямбда-функции применяют при вызове функций, которые в качестве аргументов содержат

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

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

Слайд 7

Очень важно документировать описание к любой функции, чтобы каждый раз не

Очень важно документировать описание к любой функции, чтобы каждый раз не

разбирать написанное заново. Для этого используют строки, заключенные в тройные кавычки. Поскольку описание функции зачастую состоит более, чем из 1 строки, использование строк с тройными кавычками очень удобно. Обычно под документирование выделяют место между определением функции и началом основного кода:
Слайд 8

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

Переменные, которые объявляются внутри функций являются локальными. Изменение этих переменных и обращение

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

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

Слайд 9

ЗАДАНИЕ 1 Напишите программу, которая принимает арифметическое выражение в качестве аргумента

ЗАДАНИЕ 1

Напишите программу, которая принимает арифметическое выражение в качестве аргумента и

выводит результат этого выражения.
Необходимо использовать функции. Программа должна поддерживать следующие арифметические операции: +, -, /, *, %(получение процента от числа), **(возведение в квадрат), **х(возведение в степень числа х). Запрещено подключать дополнительные модули. Для вывода результата необходимо использовать функцию print().