修饰器
Python 装饰器本质上修改了函数。下面的例子记录了一个函数的运行时间。
import time
def count_time(func):
def new_func(*args, **kwargs):
begin = time.time()
result = func(*args, **kwargs)
end = time.time()
print(func.__name__, 'cost', end-begin, 'seconds')
return result
return new_func
@count_time
def is_prime(n: int):
"""Check if n is a prime."""
if n <= 1:
return False
i = 2
while i * i <= n:
if n % i == 0:
return False
i += 1