Рубрики
Без рубрики

Введение в функции Python

Что такое функция в Python? В Python функциями являются группой соответствующих утверждений … Теги с Python, функциональными, начинающими.

Что такое функция в Python?

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

def function_name(parameters):
    """docstring"""
    statement(s) 

Используя пример выше;

  • Ключевое слово . def Указывает на начало функции.
  • Имя функции используется для однозначности определения функции.
  • Параметры/аргументы используются для передачи значений к функции. Однако они являются необязательными.
  • Конец заголовка функций обозначается толстой кишки (:)
  • Сегмент (DOCSTRING), используемый выше деталей, что должна делать функцию.
  • Там может быть необязательный вернуть Заявление для возврата значений из функций.

Пример

def greet(name):
    """
    This function greets to
    the person passed in as
    a parameter
    """
    print("Hello, " + name + ". Good morning!")

Призывая функцию в Python

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

>>>greet('Morris')
Hello, Morris. Good morning!

Полная функция и его призыв;

def greet(name):
    """
    This function greets to
    the person passed in as
    a parameter
    """
    print("Hello, " + name + ". Good morning!")

greet('Morris')

Выход;

Hello, Morris. Good morning!

Docstrings.

Строка документации или DOCSTRING является первой строкой после заголовка функций. Он детализирует то, что делает конкретную функцию. Это необязательно, но настоятельно рекомендуется. Используйте тройные цитаты, чтобы включить DocStrings, чтобы пролиться над несколькими строками.

Обратный оператор

Используется для выхода из функций и возвращаться к Where Hever его было вызвано.

return [expression_list]

Оператор возврата может содержать выражение, которое оценивается, и значение возвращается. Если в утверждении нет выражения или самого оператора возврата не присутствует внутри функции, то функция вернет объект NOTE.

Пример

>>> print(greet("May"))
Hello, May. Good morning!
None

Здесь никто не возвращаемая стоимость с приветствовать () напрямую печатает имя и нет вернуть оператор используется.

Пример возврата

def absolute_value(num):
    """This function returns the absolute
    value of the entered number"""

    if num >= 0:
        return num
    else:
        return -num


print(absolute_value(2))

print(absolute_value(-4))

Выход

2
4

Аргументы функций Python

Вы можете определить функцию, которая берет вариабельный номер аргументов.

def greet(name, msg):
    """This function greets to
    the person with the provided message"""
    print("Hello", name + ', ' + msg)

greet("Monica", "Good morning!")

Выход

Hello Monica, Good morning!

Здесь функция приветствовать () имеет два параметра. Если мы назовемся с другим количеством аргументов, интерпретатор будет отображать сообщение об ошибке. Ниже приведен вызов этой функции с одним и без аргументов вместе со своими соответствующими сообщениями об ошибках

>>> greet("Monica")    # only one argument
TypeError: greet() missing 1 required positional argument: 'msg'
>>> greet()    # no arguments
TypeError: greet() missing 2 required positional arguments: 'name' and 'msg'

Регументы вариабельной функции

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

Аргументы Python по умолчанию Мы можем предоставить значение по умолчанию для аргумента, используя оператор назначения (=).

def greet(name, msg="Good morning!"):
    """
    This function greets to
    the person with the
    provided message.

    If the message is not provided,
    it defaults to "Good
    morning!"
    """

    print("Hello", name + ', ' + msg)


greet("Kate")
greet("Bruce", "How do you do?")

Выход

Hello Kate, Good morning!
Hello Bruce, How do you do?

В этой функции имя параметра не имеет значения по умолчанию и требуется (обязательно) во время вызова.

С другой стороны, параметр MSG имеет значение по умолчанию «доброе утро!». Итак, это необязательно во время вызова. Если значение предусмотрено, он перезапишет значение по умолчанию.

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

Это значит сказать, что аргументы не по умолчанию не могут выполнять аргументы по умолчанию. Например, если мы определили заголовок функции выше:

def greet(msg = "Good morning!", name):

Мы получили ошибку как:

SyntaxError: non-default argument follows default argument

Аргументы ключевых слов Python

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

Например, в приведенной выше функции Green (), когда мы назвали это как приветствие («Брюс», «Как вы делаете?»), Значение «Bruce» присваивается на имя аргумента и аналогично «как вы делаете? ” к сообщениям.

Python позволяет вызывать функции с использованием аргументов ключевых слов. Когда мы называем функции таким образом, порядок (положение) аргументов можно изменить. Следующие вызова к вышеуказанной функции все действительны и дают тот же результат.

# 2 keyword arguments
greet(name = "Bruce",msg = "How do you do?")

# 2 keyword arguments (out of order)
greet(msg = "How do you do?",name = "Bruce") 

1 positional, 1 keyword argument
greet("Bruce", msg = "How do you do?")  

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

Наличие позиционного аргумента после аргументов ключевых слов приведет к ошибкам. Например, функция вызова следующим образом:

greet(name="Bruce","How do you do?")

Приведет к ошибке:

SyntaxError: non-keyword arg after keyword arg

Python произвольные аргументы

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

В определении функции мы используем звездочку (*) перед именем параметра для обозначения этого вида аргумента. Вот пример.

def greet(*names):
    """This function greets all
    the person in the names tuple."""

    # names is a tuple with arguments
    for name in names:
        print("Hello", name)


greet("Monica", "Luke", "Steve", "John")

Выход

Hello Monica
Hello Luke
Hello Steve
Hello John

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

Оригинал: “https://dev.to/mulitu/introduction-to-python-functions-40ap”