Серия Python для начинающих — часть 14

В последней части серии мы узнали о трех управляющих операторах: pass, continue, и break. В этой части мы узнаем о функциях в Python.

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

Определение функции

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

def greet(name):
    print(f"Hello, {name}!")

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

Вызов функции

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

greet("Alice")

Когда мы вызываем greet с аргументом "Alice", он выводит на консоль сообщение Hello, Alice!.

Возвращаемые значения

Помимо вывода сообщений, функции также могут возвращать значения. Для этого мы используем ключевое слово return, за которым следует значение, которое мы хотим вернуть. Вот пример:

def add_numbers(a, b):
    return a + b

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

result = add_numbers(3, 4)
print(result)

Когда мы вызываем add_numbers с аргументами 3 и 4, он возвращает значение 7. Затем мы можем присвоить это значение переменной с именем result и вывести его на консоль.

Параметры по умолчанию

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

def greet(name="World"):
    print(f"Hello, {name}!")

В этом примере мы определили функцию с именем greet, которая принимает один параметр с именем name. Однако мы также предоставили значение по умолчанию "World", которое будет использоваться, если при вызове функции не указан аргумент.

greet()
greet("Alice")

Когда мы вызываем greet без аргументов, на консоль выводится сообщение Hello, World!. Когда мы вызываем его с аргументом "Alice", он выводит сообщение Hello, Alice!.

Аргументы переменной длины

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

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

def multiply_numbers(*numbers):
    result = 1
    for number in numbers:
        result *= number
    return result

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

result = multiply_numbers(2, 3, 4)
print(result)

Когда мы вызываем multiply_numbers с аргументами 2, 3 и 4, возвращается значение 24. Обратите внимание, что синтаксис *numbers позволяет нам передавать любое количество аргументов, которые будут рассматриваться как кортеж внутри функции.

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

def greet_people(**people):
    for name, age in people.items():
        print(f"{name} is {age} years old")

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

greet_people(Alice=25, Bob=30, Charlie=35)

Когда мы вызываем greet_people с ключевыми аргументами Alice=25, Bob=30 и Charlie=35, он выводит сообщения:

Alice is 25 years old
Bob is 30 years old
Charlie is 35 years old

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

Заключение

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

Свяжитесь со мной:

LinkedIn, Medium, Instagram, Kaggle и GitHub.

Если вам нравится читать истории, подобные этой, и вы хотите поддержать меня, подумайте о том, чтобы стать участником Medium. Взяв 5 долларов в месяц, вы открываете неограниченный доступ к историям на Medium. Если вы воспользуетесь моей ссылкой для регистрации, я получу небольшую комиссию.

Уже участник? Подпишитесь, чтобы получать уведомления, когда я опубликую.



Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.