Функции Python: 7 примеров. Базовые, встроенные и пользовательские функции | OTUS

Функции Python: 7 примеров. Базовые, встроенные и пользовательские функции

В этой статье мы просто приведём практические примеры работы функций в Python. Рассмотрим базовые, встроенные и пользовательские функции, а также функции с параметрами, возвращаемым значением и типом данных.

Функции в Python представляют собой фрагменты кода в блоке, который имеет назначенное имя. Функции принимают ввод, осуществляют вычисления либо какое-нибудь действие и возвращают вывод. И, разумеется, функции упрощают работу с кодом, делая возможным его повторное использование.

Базовые функции Python

Давайте рассмотрим пример функции Python, принимающей 2 параметра, а также вычисляющей сумму и возвращающей вычисленное значение:

#определяем и объявляем функцию
def calculate_sum(a,b):
  sum = a+b
  return sum

#инструкция, приведённая ниже, называется вызовом функции
print(calculate_sum(2,3)) # 5

Кроме того, в Python есть встроенные и пользовательские функции.

Пользовательские функции Python

Объявление пользовательской функции осуществляется с применением ключевого слова def. При этом оно должно сопровождаться именем пользовательской функции:

def calculate_si_amount(principal, rate, time):
  interest =  (principal*rate*time)/100
  return principal+interest

В данной функции окончательная сумма может быть рассчитана посредством использования простого процента к основной сумме. Именем функции является Calculate_si_amount. Что касается principal, time и rate — то это параметры, а функция возвращает рассчитанные данные.

Для пользовательской функции можно не принимать возвращаемые значения и параметры. На нижеследующем примере мы видим пользовательскую функцию, не принимающую никаких параметров, зато возвращающую данные.

from random import seed, random
from random import random

def generate_random_number():
  seed(10)
  return random()

Встроенные функции Python

В Python существует много встроенных функций. Одна из наиболее часто используемых — print(). Её работа чрезвычайно проста:

print("Всем привет")
print(len("Меня зовут Андрей"))

Ещё популярны такие функции, как len(),abs(), sum(), str(), int() и другие.

Параметры функции в Python

В языке программирования Python функция может иметь параметры по умолчанию:

def multiply(a, b=10):
  return a*b

multiply(12) # 120
multiply(2, 3) # 6
multiply(b=9) # Ошибка: None*9 недопустимо

В вышеописанной функции, когда пользователь не задает 2-й параметр b, он предполагает, что параметр равен 10, однако при этом нужно предоставить 1-й параметр.

Неизвестное количество параметров в функции Python

Когда в функции, допустим, четыре параметра, а для второго параметра определено значение по умолчанию, то третьему и четвёртому параметрам тоже необходимо присвоить значение по умолчанию.

Когда число параметров неизвестно, тогда в определение функции в качестве одного из параметров добавляется *args. Данный параметр ожидает кортеж. В нашем случае звёздочка (*) очень важна, т. к. название args просто является соглашением, то есть можно дать любое другое имя.

def calculate_sum(a, *args):
  sum = a
  for i in args:
    sum += i
  return sum

calculate_sum(10) # 10
calculate_sum(10, 11, 12) # 33
calculate_sum(1, 2, 94, 6, 2, 8, 9, 20, 43, 2) # 187

Так же **kwargs ожидает словарь в качестве параметра.

def print_names(f1, l1, **kwargs):
  print(f1, l1, end=' ')
  for key in kwargs:
    print(key, kwargs[key], end=' ')

print_names("andrey", "master")
print_names("andrey", "master", alex="john", leon="elene")
# andrey master andrey master alex john leon elene

Обратите внимание, что фрагмент выше имеет ссылку на цикл for.

Тип данных для возвращаемого значения и параметров в Python

Определение типов данных для параметров функции в Python может быть полезным:

def prime_numbers(x:int) -> (int, list):
  l=[]
  for i in range(x+1):
    if checkPrime(i):
      l.append(i)
  return len(l), l

В нашем примере определение функции указывает, что нужен 1 параметр типа int и вернёт два значения типа list и int соответственно.

Возвращаемое значение функции в Python

Язык программирования Python даёт возможность функции возвращать несколько значений.

def prime_numbers(x):
  l=[]
  for i in range(x+1):
    if checkPrime(i):
      l.append(i)
  return len(l), l

no_of_primes, primes_list = prime_numbers(100)

В нашем случае возвращаются 2 значения. Если данная функция вызывается, то возвращаемые значения сохраняются одновременно в 2-х переменных. Если же функция не возвращает ничего, то она неявно возвращает None.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто