我只是在python中玩decorator并享受这种体验,对我来说,decorator类比decorator函数更干净,所以我一直在玩这个设计
def returns(object):
"""Enforces return to a specific type"""
def __init__(self, returns):
self.returns = returns
def __call__(self, func):
def wrapped(*args):
out = func(*args)
return self.returns(out)
return wrapped
@returns(int)
def test():
return '4'
上面代码的问题是它返回
^{pr2}$我想知道为什么我可以像函数一样调用int(),它有一个可调用的方法,但它在这里表示为它的NoneType和not callable。在
有什么想法吗?在
编辑:请不要回答问题已经解决了,我明白我做错了什么。这是一个打字错误,我定义了一个函数而不是一个类
也许你想换个
通过
^{pr2}$您的
returns()
函数不返回任何内容。你是想让它成为一门课吗?在相关问题 更多 >
编程相关推荐