2010-04-23 71 views
3

我想知道是否使用python自带的装饰模块。我应该使用原始方法创建装饰器,还是使用模块被认为是不错的做法?装饰模块标准

+7

在Python2.6或3.1中没有装饰器模块...你指哪一个? – joaquin 2010-04-23 20:27:47

+1

@joaquin我相信它是pypi的一部分。 http://www.phyast.pitt.edu/~micheles/python/documentation.html – Kyle 2010-04-23 22:45:26

+0

我明白了。你说'标准',这被理解为一个标准的lib模块(官方python版本中包含的一个python电池)。 – joaquin 2010-04-24 20:22:26

回答

3

pypi中的装饰模块是Michele Simionato的第三方模块。它不属于python标准库。

在大多数情况下,你不需要这个模块来处理装饰器。

它还为您提供了一些有用的工具,可以简化装饰器的一些用途。在任何情况下,它是一个很好的模块来了解装饰器

+0

感谢您的答案。我只是想知道这是否是好的做法。我想我已经收集到,我应该使用更传统的方式创建我的装饰器,而不是在pypi中使用模块。 – Kyle 2010-04-26 16:40:12

0

我不确定你的意思是“装饰模块”。但是,如果您在使用最小化样板时正确模仿包装功能,则应该查看functools模块。

几个原因把我的头顶部的“正确”环绕功能:

  • (2.x中,不知道3.X的) - 酸洗对象与装饰方法
  • 兼容性与任何metaprogramming