Python教程自学网欢迎您来学习!
当前位置: 首页 > Python基础教程 > python装饰器的常见用途

python装饰器的常见用途

   

python装饰器的常见用途

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)
返回包装器