Учебник ”Основы программирования на Python”
Урок 13.
Ф
ункци
и в программировании
Функции в программировании можно представить
как изолированный блок кода,
обращение к которому в процессе выполнения программы может быть многократным.
Зачем нужны такие блоки инструкций? В первую очередь, чтобы сократить объем
исходного кода: рационально вынести часто повторяющиеся выражения в отдельный
блок и, затем, по мере надобности, обращаться к нему.
Представим себе следующую ситуацию. Требуется написать скрипт,
который при
выполнении должен три раза запрашивать у пользователя разные данные, но
выполнять с ними одни и те же действия.
a = int(input('Введите первое число: '))
b = int(input('Введите второе число: '))
if a > b:
print(a-b)
else:
print(b-a)
c = int(input('Введите первое число: '))
d = int(input('Введите второе число: '))
if c > d:
print(c-d)
else:
print(d-c)
e = int(input('Введите первое число: '))
f = int(input('Введите второе число: '))
if e > f:
print(e-f)
else:
print(f-e)
Данная программа находит модуль разницы двух чисел. Очевидно, что такая запись
исходного кода не рациональна: получаются три почти одинаковых блока кода.
Почему бы не использовать цикл
while
для организации повторения?
i = 0
while i < 3:
a = int(input('Введите первое число: '))
b = int(input('Введите второе число: '))
if a > b:
print(a-b)
else:
print(b-a)
i = i + 1
Однако, в этом случае есть один нюанс. Вводимые
пользователем данные всегда
связываются с переменными a и b. При каждом витке цикла прежние данные
утрачиваются.
Что же делать, если все шесть чисел, введенных пользователем надо
сохранить для дальнейшего использования в программе?
Рассмотрим решение этой
задачи с использованием функции.
39
Учебник ”Основы программирования на Python”
def diff():
m = int(input('Введите первое число: '))
n = int(input('Введите второе число: '))
if m > n:
print(m-n)
else:
print(n-m)
return m,n
a,b = diff()
c,d = diff()
e,f = diff()
def
– это инструкция (команда) языка программирования Python,
позволяющая
создавать функцию.
diff
– это имя функции, которое (так же как и имена переменных)
может быть почти любым, но желательно осмысленным.
После в скобках
перечисляются параметры функции. Если их нет, то скобки остаются пустыми. Далее
идет двоеточие, обозначающее окончание заголовка функции (аналогично с
условиями и циклами). После заголовка с новой
строки и с отступом следуют
выражения тела функции. В конце тела функции присутствует инструкция
Do'stlaringiz bilan baham: