MST

星途 面试题库

面试题:Python中装饰器如何实现带参数的功能

请编写一个带参数的装饰器,该装饰器用于在函数执行前后打印日志,日志内容包含传入装饰器的参数,例如传入参数 'operation',则在函数执行前打印 'Starting operation',执行后打印 'Finished operation'。
19.5万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def log_decorator(operation):
    def decorator(func):
        def wrapper(*args, **kwargs):
            print(f'Starting {operation}')
            result = func(*args, **kwargs)
            print(f'Finished {operation}')
            return result
        return wrapper
    return decorator


@log_decorator('operation')
def example_function():
    print('Function is running...')


example_function()