品易云推流 关闭
文章详情页
文章 > Python基础教程 > python装饰器的常见用途

python装饰器的常见用途

Python装饰器

头像

小妮浅浅

2021-09-16 09:26:062434浏览 · 0收藏 · 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基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图