简单学Python装饰器1timer计时器

什么是装饰器?

装饰器是一种Python语言的特性,它允许在不修改已有函数的情况下,向函数添加额外的功能。装饰器本质上是一个函数,它接受一个函数作为参数,并返回一个新的函数。

通俗点儿说明一下装饰器的特点。装饰器实现了别的代码实现不了的功能吗?没有,用别的代码照样可以实现。那为什么要用装饰器?因为简单易用、代码简洁,所以符合Python的网格。

今天以@timer装饰器举例。timer不是python内置的装饰器,而是我们自定义的,之所以叫timer,是为了见到名字就联想到功能。timer是将需要计时的程序嵌套在内部,在实现原程序功能的同时,把耗费的时间计算出来。以下引用了前几天发布的显示2024年节日的代码,整个代码主要分为3个部分——定义timer函数、将打印2024年节日的代码包装在timer函数之中、运行函数得出耗费时间:

from lunarcalendar.festival import festivals
import time
def timer(func):#可以改成自己喜欢的名字,不必“timer”
	def wrapper(*args, **kwargs):#可以改成自己喜欢的名字,不必“wrapper”
# 记录开始时间
		start_time = time.time()
# 给实际执行的函数传递参数
		result = func(*args, **kwargs)
# 记录结束时间
		end_time = time.time()
# 计算并输出程度运行耗费的时间
		execution_time = end_time - start_time
		print(f"程序执行了: {execution_time} 秒")
#返回程序运行耗费的时间
		return result
# 将wrapper函数的运行结果返回
	return wrapper

@timer
def test():
	print("2024年节日--中文")
	for fest in festivals:
		print(fest.get_lang('zh'), fest(2024))
		print('-------------------------------')

test()

结果:

简单学Python装饰器1timer计时器

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/75008
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 11 日 下午2:33
下一篇 2024 年 7 月 11 日 下午2:33

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注