Серия 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 .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.