Функция — это блок кода, который выполняет определенную задачу. В Python есть два типа функции: встроенные и пользовательские. Параметр — это значение, которое принимает функция. Аргумент — это значение, которое передается в функцию при ее вызове в программе. Оператор return используется для возвращения значения из функции.
Что такое функция?
Функция — это блок кода, который выполняет определенную задачу.
Предположим, нам нужно написать программу, которая нарисует круг, а затем раскрасит его. Вы можете создать две функции для решения этой проблемы:
функция создания круга;
функция раскрашивания круга.
Разделение сложной задачи на более мелкие части делает нашу программу простой для понимания и повторного использования.
Типы функций в Python
Есть два типа функций:
Функции из Стандартной библиотеки Python — это встроенные функции, доступные для использования.
Пользовательские функции — мы можем создавать собственные функции на основе наших требований.
Объявление функции в Python
Синтаксис объявления функции:
1 2 3 4 |
def имя_функции(параметры): # тело функции return |
Здесь:
def
— ключевое слово, используемое для объявления функции;
имя_функции
— любое имя, данное функции;
параметры
— значения, переданные в функцию;
return
(необязательно) — возвращает значение из функции.
Давайте рассмотрим пример:
1 2 |
def greet(): print('Hello, World!') |
Здесь мы создали функцию с именем greet(). Она просто выводит текст Hello, World!
. Эта функция не имеет параметров и не возвращает никаких значений.
Вызов функции в Python
Вызов функции greet(), которую мы создали выше, выполняется следующим образом:
1 2 |
# Вызываем функцию greet() |
Рассмотрим еще один пример использования функции в Python:
1 2 3 4 5 6 7 |
def greet(): print('Hello World!') # Вызываем функцию greet() print('Outside function') |
Результат:
Параметры и аргументы функции в Python
Как упоминалось ранее, функция может иметь параметры. Параметр — это значение, которое принимает функция. Например:
1 2 3 4 5 6 7 8 |
# Функция с двумя параметрами def add_numbers(num1, num2): sum = num1 + num2 print('Sum: ',sum) # Функция без параметров def add_numbers(): # код |
Если мы создаем функцию с параметрами, нам нужно передавать соответствующие значения (аргументы) при вызове функции в программе. Например:
1 2 3 4 5 |
# Вызываем функцию, указав 2 аргумента add_numbers(5, 4) # Вызываем функцию без указания аргументов add_numbers() |
Здесь add_numbers(5, 4)
указывает, что параметры num1
и num2
получат аргументы 5
и 4
соответственно.
Рассмотрим еще один пример:
1 2 3 4 5 6 7 |
# Определение функции с двумя параметрами def add_numbers(num1, num2): sum = num1 + num2 print("Sum: ",sum) # Вызов функции с указанием двух аргументов add_numbers(5, 4) |
Результат:
Sum: 9
Мы также можем вызвать функцию с указанием параметров в коде:
1 |
add_numbers(num1 = 5, num2 = 4) |
В Python это называется именованным аргументом. Вышеприведенный код равнозначен:
1 |
add_numbers(5, 4) |
Оператор return в Python
Функция Python может возвращать или не возвращать значение. Если нужно, чтобы функция возвращала какое-то значение, то следует использовать оператор return. Например:
1 2 3 |
def add_numbers(): ... return sum |
Здесь мы возвращаем переменную sum
обратно в вызывающий объект (caller).
Примечание: Оператор return также обозначает завершение выполнения функции.
Рассмотрим пример использования оператора return на практике:
1 2 3 4 5 6 7 8 9 |
# Определение функции def find_square(num): result = num * num return result # Вызов функции square = find_square(3) print('Square:',square) |
Результат:
Square: 9
Здесь мы создали функцию с именем find_square(). Функция принимает число (num
) и возвращает квадрат этого числа.
Рассмотрим еще один пример:
1 2 3 4 5 6 7 8 9 |
# Функция сложения двух чисел def add_numbers(num1, num2): sum = num1 + num2 return sum # Вызываем функцию, указав 2 аргумента result = add_numbers(5, 4) print('Sum: ', result) |
Результат:
Функции из Стандартной библиотеки Python
В Python функции из Стандартной библиотеки — это встроенные функции, которые можно использовать непосредственно в коде. Например:
print()
— выводит текст на экран;
sqrt()
— возвращает квадратный корень числа;
pow()
— выполняет операцию возведения числа в степень.
Эти библиотечные функции определены внутри модуля. И, чтобы их использовать, нужно подключить модуль в программу. Например, функция sqrt() определена внутри модуля math.
Рассмотрим пример использования библиотечной функции в Python:
1 2 3 4 5 6 7 8 9 10 11 |
import math # Функция sqrt() вычисляет квадратный корень числа square_root = math.sqrt(4) print("Square Root of 4 is",square_root) # Функция pow() выполняет возведение числа в степень power = pow(2, 3) print("2 to the power 3 is",power) |
Результат:
Square Root of 4 is 2.0
2 to the power 3 is 8
Здесь мы использовали:
math.sqrt(4)
— для вычисления квадратного корня из 4;
pow(2, 3)
— для возведения числа 2 в степень 3, то есть 2³.
Обратите внимание на строку:
1 |
import math |
Поскольку функция sqrt() определена внутри модуля math, нам необходимо подключить его в нашей программе.
Плюсы использования функций
Преимущество №1: Повторное использование кода. Мы можем использовать одну и ту же функцию несколько раз в нашей программе, что делает наш код многоразовым. Например:
1 2 3 4 5 6 7 8 |
# Определение функции def get_square(num): return num * num for i in [1,2,3]: # Вызов функции result = get_square(i) print('Square of',i, '=',result) |
Результат:
Square of 1 = 1
Square of 2 = 4
Square of 3 = 9
Здесь мы создали функцию с именем get_square() для вычисления квадрата числа. Затем написали цикл for для вычисления квадрата чисел от 1 до 3. Одна и та же функция вычисления квадрата числа используется несколько раз в цикле.
Преимущество №2: Читабельность кода. Функции помогают разбивать код на меньшие части, чтобы сделать программу читабельной и легкой для понимания.