我发现自己写了很多功能,我希望能够运用关于例如集合的参数x, y, ...
,和。 [(x1, y1, ...), (x2, y2, ...), ...]
。python装饰器可以使一个函数能够智能地操作单个对象和集合对象吗?
是否有一个清晰和简单的装饰,图案或技术来编写这样的功能?
下面是一个任意例如:
def awesome(func):
# ???
@awesome
def mult(a, b):
return a * b
mult(3, 4) # should return 12
mult((3, 4)) # should return 12 or possibly (12,)
mult(((3, 4), (2, 3), [3, 3])) # should return (12, 6, 9)
mult([(3, 4), [4, 5]]) # should return (12, 20)
整个想法并不好,因为你最终不知道进出这个函数的内容,这使得它很难找到错误。只需键入'(mul(* x)for x in xs)' – 2011-05-25 17:15:27
就是有道理的。向上。 – 2011-05-25 17:18:41
为什么我们不使用管道输入和运算符重载?似乎更直观和pythonic – Pwnna 2011-05-25 18:02:04