ITPub博客

首页 > IT职业 > IT生活 > python装饰器的常见用途

python装饰器的常见用途

IT生活 作者:lslzf 时间:2021-09-11 09:47:38 0 删除 编辑

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

定义插入排序(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中的函数是一等公民,即:它们可以传递、分配给变量并从其他函数返回。

# 匿名函数,以毫秒为单位返回当前时间。
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装饰器的常见用途,希望对大家有所帮助。更多Python学习指路:python基础教程

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1070/viewspace-2828506/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-15

  • 博文量
    102
  • 访问量
    883