Уроки Python 11 - Функции
компьютерная программа по информатике и икт

Кликодуев Владимир Валерьевич

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

 

Скачать:

ВложениеРазмер
Файл uroki_python_11.docx20.45 КБ

Предварительный просмотр:

Уроки 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.


По теме: методические разработки, презентации и конспекты

Уроки Python 1 - Переменные и их типы

Уроки Python 1 - Переменные и их типы...

Уроки Python 2 - Условный оператор if-else

Уроки Python 2 - Условный оператор if-else...

Уроки Python 3 - Сложные условия

Уроки Python 3 - Сложные условия...

Уроки Python 4 - Списки и циклы

Уроки Python 4 - Списки и циклы...

Уроки Python 5 - "Первая программа"

Уроки Python 5 - Первая программа...

Уроки Python 6 - Работа со строками

Уроки Python 6 - Работа со строками...

Уроки Python 7 - Длина строки, буфер обмена

Уроки Python 7 - Длина строки, буфер обмена...