СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Уроки Python 11 - Функции

Категория: Информатика

Нажмите, чтобы узнать подробности

Уроки Python 11 - Функции

Просмотр содержимого документа
«Уроки Python 11 - Функции»

Уроки Python 11 - Функции

Сегодня мы поговорим о том, что такое функции, и как с ними работать. Иногда, набор каких-то повторяющихся команд нужно выполнять несколько раз. Такие блоки команд обычно выносят в отдельные кусочки программы. Именно из функций состоят внешние модули, которые можно подключать к программам. У функции могут быть входные параметры называемые аргументами - это одна или несколько переменных, которые пишутся в скобках после имени функции. Также функция может возвращать одно или несколько значений с помощью команды return. Объявление функции начинается с ключевого слова def, далее следует имя функции, аргументы в скобках, и программный код отделённый четырьмя пробелами.


Для примера разберём простейшую функцию которая будет перемножать два любых числа. Назовём её umn.

def umn(a,b):

c=a*b

return c


Теперь, когда мы описали функцию, далее в этой же программе мы можем её использовать

a=int(input('Введите первое число: '))

b=int(input('Введите второе число: '))

с=umn(a,b)

print(c)


Внутри программы мы можем вызывать созданную нами функцию сколько угодно раз. Давайте создадим программу, которая будет считать прибавку к зарплате, менеджерам по продаже автомобилей. Пусть у каждого менеджера своя зарплата, в зависимости от его ранга, но начисления прибавки для всех работает по принципу +2 процента к базовой зарплате за каждый проданный автомобиль, если автомобилей продано больше чем 10.


Напишем функцию которая принимает в качестве аргументов размер зарплаты сотрудника, и количество проданных им за месяц автомобилей. Используем для округления результата команду round() которая округлит прибавку до целого числа.

def pribavka(zarplata, avto):

k=0

if(avto 10):

k = round((avto - 10) * 0.02 * zarplata)

return k


a=int(input('Введите зарплату сотрудника: '))

b=int(input('Введите количество автомобилей проданных за месяц: '))

c=pribavka(a,b)

print('В этом месяце прибавка к зарплате составит: ' + str(c))


Давайте посмотрим как работает наша программа:


Введите зарплату сотрудника: 10000

Введите количество автомобилей проданных за месяц: 15

В этом месяце прибавка к зарплате составит: 1000


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


Например если в конце нашей функции стоит return a,b

def myfunc(x):

какие-то команды

какие-то команды

return a, b


то в программе, чтобы получить обе переменные мы тоже напишем их через запятую

a, b = myfunc(x)


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


Поясним на примере:

def boom(a, b):

z=15

c=a*b*z

return c


z=1

c=boom(15,20)

print(z)


Напечатает: 1

Так как внутри кода функции встретилась команда z=15, переменная z стала локальной, и теперь все её изменения не выходят за пределы функции. То есть переменная z, в основной программе останется равна единице. Это немного трудно понять, но любые изменения внешних переменных внутри функции делает их локальными, и не выходят за рамки данной функции. Единственная обратная связь которую предоставляет функция это возврат значений переменных с помощью команды return.