【发布时间】:2015-03-28 06:15:41
【问题描述】:
我正在编写一堆可能输出可变输出的代码,例如算术函数,我可以让输出为浮点数或整数。基本上我的问题是,如果我要为我需要的每种对象类型(可能是七个或八个)创建一个装饰器,我会因为不断重复以下内容而发疯:
def Int(fn):
def wrapper():
return int(fn())
return wrapper
我想要的是一个像下面这样的类,它将根据它实例化的名称创建一个装饰器,它将是上面函数的副本,但具有适当的类型修改。
class Decorator(object):
def __init__(self):
...
...
Int = Decorator()
# Then I can use @Int
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
您是否考虑过将参数传递给
def wrapper()的选项?