Аргументы функций
В Python функции могут принимать аргументы, которые передаются в виде параметров. Эти аргументы могут быть переданы функции в виде позиционных или ключевых параметров.
def greet(name, age):
print(f"Hello, {name}. You are {age} years old.")
greet("John", 28)
Позиционные аргументы
Позиционные аргументы передаются функции в том порядке, в котором они указаны при вызове функции. Позиция аргумента определяет, какому параметру он будет соответствовать.
def print_name_and_age(name, age):
print(f"Name: {name}")
print(f"Age: {age}")
print_name_and_age("John", 28)
Ключевые аргументы
Ключевые аргументы позволяют передавать значения параметров по имени, что делает вызов функции более понятным и гибким.
def print_name_and_age(name, age):
print(f"Name: {name}")
print(f"Age: {age}")
print_name_and_age(name="John", age=28)
Возвращаемые значения функций
Функции могут возвращать значения с помощью оператора return
. Возвращаемое значение может быть любого типа данных, включая другие функции и объекты.
def add_numbers(a, b):
return a + b
result = add_numbers(3, 5)
print(result)
Возвращение множественных значений
Функции в Python могут возвращать несколько значений одновременно с помощью кортежей, списков или словарей.
def calculate_area_and_perimeter(width, height):
area = width * height
perimeter = 2 * (width + height)
return area, perimeter
area, perimeter = calculate_area_and_perimeter(10, 5)
print(f"Area: {area}, Perimeter: {perimeter}")
Значения по умолчанию для аргументов
В Python возможно задать значения по умолчанию для аргументов функции. Если при вызове функции аргумент не указан, будет использовано его значение по умолчанию.
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
greet("John") # Использует значение по умолчанию для greeting
greet("John", "Hi") # Переопределяет значение по умолчанию для greeting
В заключении, функции в Python предоставляют мощные возможности для создания модульного и читаемого кода. Они позволяют передавать аргументы и возвращать значения, что делает код гибким и удобным для разработки и отладки.