前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【说站】python装饰器的常见用途

【说站】python装饰器的常见用途

作者头像
很酷的站长
发布2022-11-24 10:08:46
2370
发布2022-11-24 10:08:46
举报
文章被收录于专栏:站长的编程笔记

python装饰器的常见用途

1、可以快速对数组进行排序(具有O(n2)时间复杂度)。

代码语言:javascript
复制
定义插入排序(arr):
对于范围内的 i(1, len(arr)):
j = i-1
而 arr[j] > arr[j+1] 和 j>=0:
arr[j], arr[j+1] = arr[j+1], arr[j]
j -= 1
打印“已排序”。

2、在装饰器的帮助下,我们只需几行代码就可以为世界上的每个函数添加计时器。

Python中的函数是一等公民,即:它们可以传递、分配给变量并从其他函数返回。

代码语言:javascript
复制
# 匿名函数,以毫秒为单位返回当前时间。
current_millitime = lambda: time() * 1000
# 这是我们的偶数数组,已排序
数组 = [x for x in range(100) 如果不是 x % 2]
# 弄乱我们的数组以将其提供给 InsertionSort
洗牌(数组)
 
# 插入排序算法
定义插入排序(arr):
对于范围内的 i(1, len(arr)):
j = i-1
而 arr[j] > arr[j+1] 和 j>=0:
arr[j], arr[j+1] = arr[j+1], arr[j]
j -= 1
打印“排序”。
 
定义装饰器(功能):
def 包装器(*args, **kwargs):
t1 = current_millitime()
函数(*args, **kwargs)
t2 = current_millitime() - t1
 
打印 """ 函数 {} 在 {} 中运行  
      毫秒
      """.format(function.__name__, t2)
返回包装器

以上就是python装饰器的常见用途,希望对大家有所帮助。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python装饰器的常见用途
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档