Что такое def в Python?
Ключевое слово def
в Python представляет определение функции. Выражаясь простыми словами, def
сигнализирует: «Внимание, создается новая функция!». Соответственно, после def
должно быть написано имя функции, а ниже — ее определение.
Что такое функция?
Функция
— это одна, либо несколько операций, реализующих какую-либо задачу. Что это значит? Давайте рассмотрим на примере: допустим, ученику Васе из 10 «А» нужно выполнить домашнее задание на понедельник. Так как у Васи в понедельник 4 предмета: математика, русский, физика и музыка, то его задачу можно сформулировать так:
Cделать домашнее задание на понедельник:
Выполнить д/з по математике
Выполнить д/з по русскому
Выполнить д/з по физике
Выполнить д/з по музыке
Каждый раз, когда Вася садится делать уроки на понедельник, он выполняет перечисленные выше 4 операции, объединенных в одну задачу. Эту задачу можно назвать функцией. Давайте теперь запишем функцию «сделать домашку на понедельник» по всем правилам Python: в названии будем использовать латинские символы, перед названием функции поставим def
, после названия — скобки и двоеточие, а перед каждой операцией внутри функции добавим 1 отступ-табуляцию, либо 4 одинарных пробела:
Пример №1: def в определении простой функции:
# Определение функции:
def homework_on_monday():
print("Сделать д/з по математике")
print("Сделать д/з по русскому")
print("Сделать д/з по физике")
print("Сделать д/з по музыке")
Теперь нет необходимости перечислять все предметы, по которым задано д.з. на понедельник — вместо этого можно в любом месте программы написать имя функции homework_on_monday()
— и список заданий будет выведен на экран:
# Определение функции:
def homework_on_monday():
print("Сделать д/з по математике")
print("Сделать д/з по русскому")
print("Сделать д/з по физике")
print("Сделать д/з по музыке")
# Вызов функции:
homework_on_monday()
Вывод на экран:
Сделать д/з по математике Сделать д/з по русскому Сделать д/з по физике Сделать д/з по музыке
Обратите внимание, что при вызове функции ключевое слово def
не ставится — def
необходимо ставить только перед описанием функции!
Мы привели пример довольно простой функции home_on_monday()
, которая не принимает никаких параметров и не возвращает значений. Однако на этом примере наглядно понятна роль ключевого слова def
. Предлагаю рассмотреть еще одну простую функцию, но уже с параметрами и возвращаемым значением:
Пример №2: def в функции сложения двух чисел
Нам нужна функция, которая будет вычислять сумму двух любых чисел, которые мы ей передадим. Так как числа заранее неизвестны, назовем их абстрактными x и y. А саму функцию сложения назовем summary()
. Тогда определение этой функции будет выглядеть так:
# Определение функции сложения двух чисел:
def summary(x, y):
result = x + y
return result
После ключевого слова def
мы пишем названием функции, в круглых скобках указываем параметры x и у. В строке result = x + y
мы складываем x и у, после чего записываем полученное значение в переменную result и с помощью оператора return возвращаем полученный результат. Теперь чтобы получить сумму двух чисел 125 и 398 мы вызовем функцию summary(125, 398)
:
# Определение функции сложения двух чисел:
def summary(x, y):
result = x + y
return result
res1 = summary(125, 398)
# меняя аргументы функции,
# можно суммировать разные числа:
# например, сложим 45 и 9:
res2 = summary(45, 9)
# а теперь вызовем функцию
# с аргументами 25 и 34:
res3 = summary(25, 34)
print(res1, res2, res3)
Вывод на экран:
523 54 59
Обратите внимание, что ключевое слово def
представляет определение функции summary()
, поэтому оно не используется в последующем коде при вызовах функции summary()
У нас появился Telegram-канал для изучающих Python! Присоединяйтесь: вместе «питонить» веселее! 😉 Ссылка на канал: «Кодим на Python!»