Функции — это фрагменты кода в блоке, которому назначено имя. Они принимают ввод, выполняют вычисления или действие и возвращает вывод.
Функции улучшают возможность повторного использования кода.
В этой статье мы обсудим следующие примеры:
Ниже приведен пример функции Python, которая принимает два параметра, вычисляет сумму и возвращает вычисленное значение.
# определение и объявление функции def calculate_sum(a,b): sum = a+b return sum # Приведенная ниже инструкция называется вызовом функции print(calculate_sum(2,3)) # 5
В Python есть две широкие категории функций: встроенные функции и пользовательские функции.
Есть много функций, которые идут вместе с Python, когда он установлен. Пользователю не нужно беспокоиться об определениях функций. print () — одна из наиболее часто используемых встроенных функций в Python.
print("Привет мир") print(len("Меня зовут AndreyEx"))
Еще несколько примеров таких функций: len(), str(), int(), abs(), sum() и т. д.
Все встроенные функции, поддерживаемые Python3, здесь.
Пользовательские функции объявляются с использованием ключевого слова def. Ключевое слово должно сопровождаться именем функции.
def calculate_si_amount(principal, rate, time): interest = (principal*rate*time)/100 return principal+interest
В этой функции окончательная сумма рассчитывается путем применения простого процента к основной сумме. Calculate_si_amount является именем функции. principal, rate и time являются параметрами, и функция возвращает рассчитанные данные.
Для функции не обязательно принимать параметры и возвращаемые значения. Это может сделать либо оба, либо один из них, либо ни одного. Ниже приведен пример функции, которая не принимает никаких параметров, но возвращает данные.
from random import seed, random from random import random def generate_random_number(): seed(10) return random()
Функция может иметь параметры по умолчанию.
def multiply(a, b=10): return a*b multiply(12) # 120 multiply(2, 3) # 6 multiply(b=9) # Ошибка: None*9 недопустимо
В этой функции, если пользователь не задает второй параметр b, он предполагает, что он равен 10, но необходимо предоставить первый параметр.
Если число параметров, которые должна ожидать функция, неизвестно, тогда * 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("andreyex", "master") print_names("andreyex", "master", alex="john", leon="milene") # andreyex master andreyex master alex john leon milene
Приведенный выше фрагмент кода имеет ссылку на цикл for. Обратитесь к этому для получения более подробной информации: 12 незаменимых примеров команды Loop в 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)
Здесь возвращаются два значения. Когда эта функция вызывается, возвращаемые значения сохраняются в двух переменных одновременно.
Определение типов данных для параметров функции и возвращаемого значения может использоваться, чтобы дать пользователю знать ожидания функций.
def prime_numbers(x:int) -> (int, list): l=[] for i in range(x+1): if checkPrime(i): l.append(i) return len(l), l
Определение функции указывает, что ей нужен один параметр типа int и вернет два значения типа int и list соответственно.
На этом все. Удачи в программировании.
Если у вас есть какие-либо вопросы или предложения, дайте мне знать в разделе комментариев.