当前位置 : 主页 > 编程语言 > python >

【推荐】Python超级好用的装饰器!

来源:互联网 收集:自由互联 发布时间:2022-10-26
在学习Python时,大家应该都听说过“装饰器”这个词。装饰器,顾名思义就是用来装饰的,在Python中装饰器是一个很棒的机制,也是我们必须掌握的Python技能之一。本文为大家推荐7个

  在学习Python时,大家应该都听说过“装饰器”这个词。装饰器,顾名思义就是用来装饰的,在Python中装饰器是一个很棒的机制,也是我们必须掌握的Python技能之一。本文为大家推荐7个Python超级好用的装饰器,快来了解一下吧。

1、 lru_cache

  这个装饰器来自functools模块。该模块包含在标准库中,非常易于使用。它还包含比这个装饰器更酷的功能,但这个装饰器是非常受人喜欢的。此装饰器可用于使用缓存加速函数的连续运行。当然,这应该在使用时记住一些关于缓存的注意事项,但在通用使用情况下,大多数时候这个装饰器都是值得使用的。

 2、JIT

  JIT是即时编译的缩写。通常每当我们在Python中运行一些代码时,发生的第一件事就是编译。这种编译会产生一些开销,因为类型被分配了内存,并存储为未分配但已命名的别名,使用即时编译,我们在执行时才进行编译。

  在很多方面,我们可以将其视为类似于并行计算的东西,其中Python解释器同时处理两件事以节省时间。Numba JTI编译器因将这一概念提到Python中而闻名,可以非常轻松地调用此装饰器,并立即提高代码的性能。Numba包提供了JIT装饰器,它使运行更密集的软件变得更加容易,而不必进入C。

3、do_twice

  do_twice装饰器的功能与它的名字差不多。此装饰器可用于通过一次调用运行两次函数,对调试特别有用。它可以用于测量两个不同迭代的功能。

 4、count_calls

  count_calls装饰器可用于提供有关函数在软件中使用多少次的信息。与do_twice一样,对调试也特别有用。

 5、dataclass

  为了节省编写类的时间,推荐使用dataclass装饰器。这个装饰器可用于快速编写类中常见的标准方法,这些方法通常会在我们编写的类中找到。

6、singleton

  singleton是一个单例装饰器。通常,单例装饰器是由用户自己编写的,实际上并不是导入的。

  7、use_unit

  在科学计算中经常派上用场的一种装饰器是use_unit装饰器。此装饰器可用于更改返回结果的表示单位。这对于那些不想在数据中添加度量单位但仍希望人们知道这些单位是什么的人很有用。这个装饰器可不是在任何模块中真正有用,但它是非常常见的,对科学应用程序非常有用。

网友评论