MST

星途 面试题库

面试题:Python函数装饰器的基础使用

请编写一个简单的Python函数装饰器,用于打印被装饰函数的执行时间。要求装饰器能够正常工作在不同参数形式的函数上。
37.0万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import time


def timer(func):
    def wrapper(*args, **kwargs):
        start_time = time.time()
        result = func(*args, **kwargs)
        end_time = time.time()
        print(f"函数 {func.__name__} 执行时间: {end_time - start_time} 秒")
        return result

    return wrapper


你可以这样使用这个装饰器:

@timer
def add(a, b):
    return a + b


@timer
def multiply(a, b, c=1):
    return a * b * c


print(add(3, 5))
print(multiply(2, 3))
print(multiply(2, 3, c=4))