Использование функций (def) в Python с примерами
В этом уроке вы научитесь разрабатывать функции Python с использованием ключевого слова def.
- Что такое функции в Python?
- Зачем нужны?
- Структура функции Python
- 1) Определение
- 2) Тело
- Вызов функции
- Передача информации
- Параметры и аргументы
- Возврат значения
- Функция Python с несколькими параметрами
- Заключение
Что такое функции в Python?
Функция — это именованный блок кода, который выполняет задание или возвращает значение.
Зачем нужны?
Иногда вам нужно выполнить задачу несколько раз в программе. И вы не хотите копировать код одной и той же задачи повсюду. Для этого вы помещаете код в функцию и используете эту функцию для выполнения задачи, когда вам это нужно.
Например, всякий раз, когда вы хотите отобразить значение на экране, вам нужно вызвать функцию print(). Python запускает код внутри функции print() для отображения значения на экране.
На практике функции используются для разделения большой программы на более мелкие и более управляемые части. Эти функции упростят разработку, чтение, тестирование и поддержку вашей программы.
Функция print() — одна из многих встроенных функций Python. Это означает, что эти функции доступны повсюду в программе.
Структура функции Python
Вот простая функция, которая показывает приветствие:
def greet(): """ Display a greeting to users """ print('Hi')
В этом примере показана простейшая структура функции. Функция состоит из двух основных частей: определения функции и тела.
1) Определение
Определение функции начинается с ключевого слова def и имени функции(greet).
Если функции для выполнения своей работы нужна какая-то информация, вам нужно указать ее в круглых скобках(). Функция приветствия в этом примере не требует никакой информации, поэтому ее круглые скобки пусты. Определение функции всегда заканчивается двоеточием(:).
2) Тело
Все строки с отступом, следующие за определением функции, составляют тело функции.
Текстовая строка, заключенная в тройные кавычки, называется строкой документации. Он описывает, что делает функция. Python использует строку документации для автоматического создания документации для функции.
Строка print(‘Hi’) — единственная строка реального кода в теле функции. Функция Greeting() выполняет одну задачу: print(‘Hi’).
Вызов функции
Если вы хотите использовать функцию, вам нужно ее вызвать. Вызов функции инструктирует Python выполнить код внутри функции.
Чтобы вызвать функцию, вы пишете имя функции, а затем в круглых скобках информацию, необходимую для этой функции.
В следующем примере вызывается функция Greeting(). Поскольку функции Greeting() не требуется никакой информации, вам необходимо указать пустые круглые скобки, например:
greet()
Если вы запустите программу, на экране отобразится приветствие:
Hi
Передача информации
Предположим, вы хотите приветствовать пользователей по имени. Для этого вам необходимо указать имя в скобках определения функции следующим образом:
def greet(name):
Name называется параметром функции или просто параметром.
Когда вы добавляете параметр в определение функции, вы можете использовать его как переменную внутри тела функции:
def greet(name): print(f"Hi {name}")
И вы можете получить доступ к параметру name только внутри тела функции Greeting(), а не снаружи.
Когда вы вызываете функцию с параметром, вам необходимо передать информацию. Например:
greet('John')
Выход:
Hi John
Значение, которое вы передаете в функцию, называется аргументом. В этом примере «John» является аргументом.
Также вы можете вызвать функцию, передав в нее переменную:
first_name = 'Jane' greet(first_name)
В этом примере переменная first_name также является аргументом функции Greeting().
Параметры и аргументы
Иногда параметры и аргументы используются как взаимозаменяемые. Важно различать параметры и аргументы функции.
Параметр — это часть информации, которая необходима функции. И вы указываете параметр в определении функции. Например, функция Greeting() имеет параметр name.
Аргумент — это фрагмент данных, который вы передаете в функцию. Например, аргументом функции является текстовая строка «John» или переменная Jane.
Возврат значения
Функция может выполнять задачу, подобную функции Greeting(). Или она может вернуть значение. Значение, возвращаемое функцией, называется возвращаемым значением.
Чтобы вернуть значение из функции, вы используете оператор return внутри тела функции.
return value
В следующем примере функция Greeting() изменяется так, чтобы она возвращала приветствие, а не отображала его на экране:
def greet(name): return f"Hi {name}"
Когда вы вызываете функцию Greeting(), вы можете присвоить ее возвращаемое значение переменной:
greeting = greet('John')
И покажем это на экране:
print(greeting)
Новая функция Greeting() лучше старой, поскольку она не зависит от функции print().
Позже вы сможете повторно использовать функцию Greeting() в других приложениях. Например, вы можете использовать его в веб-приложении, чтобы приветствовать пользователей после входа в систему.
Функция Python с несколькими параметрами
Функция может иметь ноль, один или несколько параметров.
В следующем примере определяется функция sum(), которая вычисляет сумму двух чисел:
def sum(a, b): return a + b total = sum(10,20) print(total)
Выход:
30
В этом примере функция sum() имеет два параметра a и b и возвращает их сумму. Если функция имеет несколько параметров, для их разделения необходимо использовать запятую.
Когда вы вызываете функцию, вам необходимо передать все аргументы. Если вы передадите функции больше или меньше аргументов, вы получите ошибку.
В следующем вызове функции a будет равно 10, а b будет равно 20 внутри тела функции.
total = sum(10, 20)
Заключение
- Функция Python — это многократно используемый именованный блок кода, который выполняет задачу или возвращает значение.
- Используйте ключевое слово def, чтобы определить новую функцию. Функция состоит из определения функции и тела.
- Функция может иметь ноль или более параметров. Если функция имеет один или несколько параметров, вам необходимо передать в нее такое же количество аргументов.
- Функция может выполнять задание или возвращать значение. Используйте оператор return для возврата значения из функции.