Back to questions
Junior — Middle
63
Какие виды инструментов и возможностей доступны для функции в контексте ее использования и разработки?
Answer from AI
sobes.tech AI
В Python функции обладают множеством инструментов и возможностей, которые облегчают их использование и разработку:
- Аргументы с разными способами передачи: позиционные, именованные, с умолчаниями, *args и **kwargs для переменного числа аргументов.
- Декораторы: позволяют оборачивать функции для расширения их поведения без изменения исходного кода.
- Атрибуты функции: можно добавлять свои атрибуты к функциям для хранения дополнительной информации.
- Аннотации типов: помогают документировать и проверять типы аргументов и возвращаемого значения.
- Вложенные функции и замыкания: функции внутри функций, которые могут захватывать переменные из внешнего контекста.
- Генераторы: функции, которые возвращают итераторы с помощью yield.
Пример использования декоратора и аннотаций:
def decorator(func):
def wrapper(*args, **kwargs):
print(f"Вызов функции {func.__name__}")
return func(*args, **kwargs)
return wrapper
@decorator
def greet(name: str) -> str:
return f"Привет, {name}!"
print(greet("Мир"))
Эти возможности делают функции в Python очень гибкими и мощными.