- Аргументы функций. В Python функции могут передаваться в качестве аргументов другим функциям. Это позволяет использовать функцию в качестве параметра, что может быть полезно для реализации обратных вызовов или настройки поведения.
Пример:
def greet():
print("Hello!")
def call_function(func):
func()
call_function(greet)
- Значения, возвращаемые функцией. Функции также могут возвращать другие функции. Это позволяет создавать функции высшего порядка или фабрики функций, которые генерируют специализированные функции на основе определенных условий или параметров.
Пример:
def multiply_by(n):
def multiplier(x):
return x * n
return multiplier
multiply_by_two = multiply_by(2)
result = multiply_by_two(5)
print(result) # Output: 10
- Присвоение функций переменным. В Python функции являются объектами первого класса, поэтому вы можете присваивать их переменным. Это позволяет вам относиться к функциям так же, как к любому другому типу данных, и передавать их по мере необходимости.
Пример:
def add(a, b):
return a + b
my_function = add
result = my_function(2, 3)
print(result) # Output: 5
- Хранение функций в структурах данных. Функции могут храниться в структурах данных, таких как списки, словари или наборы. Это может быть полезно для создания гибких и динамических структур кода.
Пример:
def greet():
print("Hello!")
def say_goodbye():
print("Goodbye!")
function_list = [greet, say_goodbye]
for func in function_list:
func()
- Декораторы. Декораторы позволяют изменять поведение функций, обертывая их другими функциями. Этот метод обычно используется для добавления дополнительных функций к функциям без изменения их исходного кода.
Пример:
def uppercase_decorator(func):
def wrapper():
result = func()
return result.upper()
return wrapper
@uppercase_decorator
def greet():
return "Hello!"
greet()