В Python функции являются объектами первого класса, то есть они обрабатываются как любое другое значение. Они могут:
Ты можешь присвоить функцию переменной и вызвать её через эту переменную:
def greet(name):
return f"Hello, {name}!"
say_hello = greet
print(say_hello("Alice")) # Output: Hello, Alice!
Функции можно передавать как аргументы, что позволяет реализовать паттерны вроде функций высшего порядка:
def apply(func, value):
return func(value)
result = apply(str.upper, "hello") # Output: HELLO
Функция может вернуть другую функцию, что является основой замыканий и декораторов:
def multiplier(factor):
def multiply(number):
return number * factor
return multiply
double = multiplier(2)
print(double(5)) # Output: 10
Функции можно хранить в списках или словарях для динамической диспетчеризации:
operations = {
"square": lambda x: x ** 2,
"cube": lambda x: x ** 3,
}
print(operations["square"](4)) # Output: 16
Функции первого класса позволяют использовать мощные паттерны в Python, такие как:
map, filter и reduceЭто делает Python очень гибким и выразительным языком как для простых скриптов, так и для сложной архитектуры приложений.
В Python функции — это объекты первого класса, что означает, что их можно присваивать переменным, передавать в качестве аргументов, возвращать из других функций и сохранять в структурах данных.
Новый — ещё не проверен сообществом
Вы