Функции в Python
Содержание
Функция является одной из основных концепций языка программирования. Функции - это «автономные» модули кода, которые выполняют отдельный сервис. Это математическая концепция, которая группирует коллекцию операций в полезную идентичность, что упрощает другие математические выражения. Функция используется для разделения различных функциональных возможностей программы и часто объединяется для выполнения более сложных задач. Большинство языков программирования снабжены заранее написанным набором функций, хранящихся в библиотеке. Эти функции используются для устранения повторяемости что приводит к меньшему количеству строк кода, простоте использования и улучшенному обслуживанию. Все функции программирования имеют вход и выход. Функция содержит инструкции, используемые для создания Вывод:а с его ввода. Вы также можете написать свои собственные функции для выполнения специализированных задач .
Функции в Python
Функция определяется с помощью ключевого слова block «def» , за которым следует имя функции, за которым следует набор круглых скобок, в которых хранятся любые параметры, которые функция выполняет и заканчивается двоеточием. Далее следует блок операторов, которые являются частью этой функции. Функции могут возвращать значение вызывающему, используя ключевое слово - «возврат».
def function-name(Parameter list): statements return [expression]
Пример:
def sayHello(); print("Hello World!!")
Здесь функция теперь полностью определена, но если мы запустим программу в этот момент, ничего не произойдет, так как мы не вызываем эту функцию. Таким образом, за пределами определенного функционального блока давайте назовем функцию с помощью sayHello ()
Пример:
def sayHello(); print("Hello World!!") sayHello() # call the function here
Вывод:
Hello World!!
Параметры функции Python
Параметр - это переменная, которая является частью сигнатуры метода (объявление метода). Параметры указаны в паре круглых скобок в определении функции, разделенных запятыми. Когда мы вызываем функцию, мы передаем значения таким же образом.
Пример:
def findSum(x,y): z=x+y print("Sum of numers are :" ,z) findSum(10,20) findSum(100,50) findSum(4,2)
Вывод:
Sum of numers are : 30 Sum of numers are : 150 Sum of numers are : 6
Пример:
def dispStatus(name,age): print("Name is :" ,name) print("Age is :" ,age) dispStatus("John",35) dispStatus("Doe",50)
Вывод:
Name is : John Age is : 35 Name is : Doe Age is : 50
Значения аргумента по умолчанию
Мы также можем предоставить значения по умолчанию для параметров функции в Python в случае, если пользователь не хочет предоставлять для них значения. Это делается с помощью значений аргументов по умолчанию. Значение по умолчанию назначается с помощью оператора присваивания (=).
Пример:
def dispStatus(name,age=25): print("Name is :" ,name) print("Age is :" ,age) dispStatus("John") dispStatus("Doe")
Вывод:
Name is : John Age is : 25 Name is : Doe Age is : 25
Основным преимуществом аргумента по умолчанию является то, что мы можем давать значения только тем параметрам, к которым мы хотим, при условии, что другие параметры имеют значения аргументов по умолчанию.
Пример:
def dispStatus(name,age=25): print("Name is :" ,name) print("Age is :" ,age) dispStatus("John") dispStatus("Doe",34) dispStatus("Doe",age=50)
Вывод:
Name is : John Age is : 25 Name is : Doe Age is : 34 Name is : Doe Age is : 50
Переменная количество аргументов
Иногда программам может понадобиться определить функцию, которая может принимать любое количество параметров, то есть переменное количество аргументов, это может быть достигнуто с помощью звезд (*). Это очень полезно, когда мы не знаем точное количество аргументов, которые будут переданы функции.
Пример:
import math def dispSquare(*varArgs): #iterate through all the items for num in varArgs: print("The square of the number is :" , num*num ) dispSquare(2,4,6,8,10)
Вывод:
The square of the number is : 4 The square of the number is : 16 The square of the number is : 36 The square of the number is : 64 The square of the number is : 100
Возврат функции в Python
Вы можете не только передать значение параметра в функцию, но и функцию. Оператор return используется для возврата из функции. За оператором return следует выражение, которое оценивается.
Пример:
def findSum(x,y): return x+y print(findSum(10,20)) print(findSum(100,50)) print(findSum(4,2))
Вывод:
30 150 6
Внутренние функции
Главным преимуществом внутренних функций является то, что он защищает их от всего, что происходит за пределами функции, а это означает, что они скрыты от глобальной области.
Пример:
def calc(x,y): def findSum(x,y): return x+y sum = findSum(x,y) print("Sum of ", x, " + ", y, " is ", sum) calc(10,20)
Вывод:
Sum of 10 + 20 is 30
Если вы попытаетесь вызвать функцию findSum (10.20):
Вывод:
Traceback (most recent call last): File "sample.py", line 8, in < module > findSum(10,20) NameError: name 'findSum' is not defined
Назначение функций переменным
Когда вы назначаете функцию переменной, вы не используете (), а просто имя функции.
Пример:
def findSum(x,y): return x+y f1 = findSum(10,20) print(f1) f1 = findSum(40,20) print(f1)
Вывод:
30 60
Функции как параметры
Есть ситуации, когда мы должны передавать функции как параметры другим функциям.
Пример:
def sayHello(func): return "Hello " + func def sayName(name): return name print (sayHello(sayName("John")))
Вывод:
Hello John
Источник: net-informations.com