Создание функции, аргументы, параметры, возвращение результата

Содержание

Слайд 2

Что такое функция?

Функция — это код, у которого есть имя, и выполняется

Что такое функция? Функция — это код, у которого есть имя, и
этот код только тогда, когда его вызовут по имени.
Слово print – это функция.
Чтобы вызвать функцию print, нужно:

1. Написать название функции

3. И необязательный дополнительный аргумент end

2. Аргумент, который выведется на экран

Слайд 3

Результат функции print

Результат функции print - отображение значения аргумента на экране.
Функция –

Результат функции print Результат функции print - отображение значения аргумента на экране.
это обязательно какое-то действие. Поэтому имя функции должно отражать действие: посчитать, вычислить, купить.
Попробуем создать свою функцию, которая будет называться buy (купить). Покупать мы будем товары в магазине.

Слайд 4

Создание функции

Создание функции

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

Результат функции

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

Создание функции

Аргументы и параметры

Возвращение результата

Тело функции

Создание функции Создание функции Вызов функции Результат функции Вызов функции Создание функции

Слайд 5

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

Новая функция будет выводить на экран количество товаров, которое можно купить за
50 монет, если один товар стоит 10 монет.

Создание функции

1. Каждая функция начинается со слова def

2. Затем пишется имя функции, например, buy (купить)

3. Скобки и двоеточие обязательны!

4. Вычисляем результат: количество товаров, которые можно купить за 50 монет

5. Выводим результат на экран функцией print

Слайд 6

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

Функция с покупкой товаров в магазине готова.
Если запустить программу, то ничего

Вызов функции Функция с покупкой товаров в магазине готова. Если запустить программу,
не заработает, потому что действие купить только сохранилось в памяти компьютера, но ещё ни разу не использовалось.
Сразу же после создания функции вызовите функцию buy точно так же, как вызывали бы функцию print:

Слайд 7

Результат функции

Результат функции – вывод на экран количества товаров.

Результат функции Результат функции – вывод на экран количества товаров.

Слайд 8


Как происходит вызов функции

Функция buy только сохраняется в памяти, а не

Как происходит вызов функции Функция buy только сохраняется в памяти, а не
срабатывает

Но сейчас отправляется команда “вызвать функцию buy”

И только теперь должно сработать тело функции

1

2

3

Слайд 9

Если вызвать функцию до её создания, то возникнет ошибка.

Ошибка при вызове функции

Попытаемся

Если вызвать функцию до её создания, то возникнет ошибка. Ошибка при вызове
вызвать функцию buy

1

Но до этого момента её не существует

2

3

И поэтому возникает ошибка

Слайд 10

Тело функции

В теле функции может быть что угодно: условия, циклы или даже

Тело функции В теле функции может быть что угодно: условия, циклы или
вызываться другие функции, например:

Слайд 11

Функция sell–1 ?

Создайте функцию sell.
Функция sell должна продавать 10 товаров по цене

Функция sell–1 ? Создайте функцию sell. Функция sell должна продавать 10 товаров
20 монет за каждый.
Точно так же, как и функция buy, функция sell должна выводить результат на экран.

Слайд 12

Аргументы и параметры

Многократный вызов функции

Аргументы функции

Превращение аргументов в параметры

Вызовы функций

Создание функции

Аргументы и

Аргументы и параметры Многократный вызов функции Аргументы функции Превращение аргументов в параметры
параметры

Возвращение результата

Слайд 13

Многократный вызов функции

Каждый раз функцию не нужно создавать заново, её можно вызывать

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

Слайд 14

Функция shuffle

Импортируйте функцию shuffle:
Помните, что делает функция shuffle? Она перемешивает любой список,

Функция shuffle Импортируйте функцию shuffle: Помните, что делает функция shuffle? Она перемешивает
который ей укажут в скобках.

Слайд 15

Аргументы функции

Результат функции shuffle зависит только от того, что ей отправят в

Аргументы функции Результат функции shuffle зависит только от того, что ей отправят
скобках.
Значения, которые указывают в скобках, называются аргументами. Аргументов может быть несколько, и без них функция даже может не заработать, например:

Слайд 16

Дополните функцию buy:

Превращение аргументов в параметры

Слова money (деньги) и price (цена)

Дополните функцию buy: Превращение аргументов в параметры Слова money (деньги) и price
– это параметры. Имена параметров могут быть любыми.

1

2

3

При вызове функции указываем аргументы в том же порядке, в каком указаны параметры: 50 – это money, 10 – это price.

Аргументы 4 и 20 превращаются в параметры money и price. Их можно использовать в функции.

Слайд 17

Вызовы с разными аргументами

Аргументы могут быть любыми, они всегда будут превращаться в

Вызовы с разными аргументами Аргументы могут быть любыми, они всегда будут превращаться
параметры money и price, а результат всегда будет разный.

Слайд 18

Вызов без аргументов

Но если теперь вызвать функцию buy без аргументов…
...то возникнет ошибка

Вызов без аргументов Но если теперь вызвать функцию buy без аргументов… ...то
“Функции не хватает аргументов”:

Слайд 19

Функция sell–2 ?

Дополните функцию sell.
У функции sell должны появиться параметры goods (товары)

Функция sell–2 ? Дополните функцию sell. У функции sell должны появиться параметры
и price (цена за один товар).
Теперь при вызове функции sell пользователь должен указывать два обязательных аргумента.
Точно так же, как и функция buy, функция sell должна выводить результат на экран.

Слайд 20

Возвращение результата

Где результат?

Возвращаемое значение

Использование результата

Оператор return

Создание функции

Аргументы и параметры

Возвращение результата

Возвращение результата Где результат? Возвращаемое значение Использование результата Оператор return Создание функции

Слайд 21

Где результат?

Существуют функции, которые не выводят ничего на экран, например:

А где результат?

Где результат? Существуют функции, которые не выводят ничего на экран, например: А где результат?

Слайд 22

Возвращаемое значение

Результатом такой функции является не выведенное на экране значение, а возвращаемое

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

Слайд 23

А зачем?

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

А зачем? Это очень удобно, если результат функции нужно не просто вывести,
использовать где-то дальше в программе.

1

2

Вызывается функция randint, которая возвращает результат….

...и записывает этот результат в переменную secret

3

И теперь мы покупаем товары за “секретное” число монет

Слайд 24

Использование результата

Как использовать полученный результат?
Как сделать так, чтобы количество монет можно было

Использование результата Как использовать полученный результат? Как сделать так, чтобы количество монет
записать в переменную и использовать дальше?

Слайд 25

Исправьте функцию buy:

Возвращение результата

Результат функции – значение переменной result – возвращается

Исправьте функцию buy: Возвращение результата Результат функции – значение переменной result –
в переменную x

Специальное слово return возвращает из функции любое значение – например, значение переменной result

2

1

Слайд 26

Оператор return

Оператор return всегда означает конец функции. Если программа дошла до этого

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

Слайд 27

Перепродажа товара

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

Перепродажа товара Теперь мы можем использовать товары, полученные из функции buy, чтобы
их функцией sell подороже и заработать много денег!