Синтаксис объявления функции:
def имя_функции(параметры):
# тело функции
return
Здесь:
def — ключевое слово, используемое для объявления функции;
имя_функции — любое имя, данное функции;
параметры — значения, переданные в функцию;
return (необязательно) — возвращает значение из функции.
пример:
def greet():
print('Hello, World!')
Здесь мы создали функцию с именем greet(). Она просто выводит текст Hello, World!.
Эта функция не имеет параметров и не возвращает никаких значений.
Вызов функции greet(), которую мы создали выше, выполняется следующим образом:
# Вызываем функцию
greet()
Рассмотрим еще один пример использования функции в Python:
def greet():
print('Hello World!')
# Вызываем функцию
greet()
print('Outside function')
Результат:
Hello World!
Outside function
Как упоминалось ранее, функция может иметь параметры. Параметр — это значение, которое принимает функция. Например:
# Функция с двумя параметрами
def add_numbers(num1, num2):
sum = num1 + num2
print('Sum: ',sum)
# Функция без параметров
def add_numbers():
# код
Если мы создаем функцию с параметрами, нам нужно передавать соответствующие значения (аргументы) при вызове функции в программе. Например:
# Вызываем функцию, указав 2 аргумента
add_numbers(5, 4)
# Вызываем функцию без указания аргументов
add_numbers()
Здесь add_numbers(5, 4) указывает, что параметры num1 и num2 получат аргументы 5 и 4 соответственно.
Рассмотрим еще один пример:
# Определение функции с двумя параметрами
def add_numbers(num1, num2):
sum = num1 + num2
print("Sum: ",sum)
# Вызов функции с указанием двух аргументов
add_numbers(5, 4)
Результат:
Sum: 9
Мы также можем вызвать функцию с указанием параметров в коде:
add_numbers(num1 = 5, num2 = 4)
В Python это называется именованным аргументом. Вышеприведенный код равнозначен:
add_numbers(5, 4)
Функция Python может возвращать или не возвращать значение. Если нужно, чтобы функция возвращала какое-то значение, то следует использовать оператор return. Например:
def add_numbers():
...
return sum
Здесь мы возвращаем переменную sum обратно в вызывающий объект (caller).
Примечание: Оператор return также обозначает завершение выполнения функции.
Рассмотрим пример использования оператора return на практике:
# Определение функции
def find_square(num):
result = num * num
return result
# Вызов функции
square = find_square(3)
print('Square:',square)
Результат:
Square: 9
Здесь мы создали функцию с именем find_square(). Функция принимает число (num) и возвращает квадрат этого числа.
Рассмотрим еще один пример:
# Функция сложения двух чисел
def add_numbers(num1, num2):
sum = num1 + num2
return sum
# Вызываем функцию, указав 2 аргумента
result = add_numbers(5, 4)
print('Sum: ', result)
Результат:
Sum: 9
В Python функции из Стандартной библиотеки — это встроенные функции, которые можно использовать непосредственно в коде. Например:
print() — выводит текст на экран;
sqrt() — возвращает квадратный корень числа;
pow() — выполняет операцию возведения числа в степень.
Эти библиотечные функции определены внутри модуля.
И, чтобы их использовать, нужно подключить модуль в программу. Например, функция sqrt() определена внутри модуля math.
Рассмотрим пример использования библиотечной функции в Python:
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³.
Обратите внимание на строку:
import math
Поскольку функция sqrt() определена внутри модуля math, нам необходимо подключить его в нашей программе.
Преимущество №1: Повторное использование кода. Мы можем использовать одну и ту же функцию несколько раз в нашей программе, что делает наш код многоразовым. Например:
# Определение функции
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: Читабельность кода. Функции помогают разбивать код на меньшие части, чтобы сделать программу читабельной и легкой для понимания.