私は自分が多くの関数を書いています。たとえば、コレクションの引数に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)
この機能に何が入り込んでいるのかわからないので、全体のアイデアはあまり良くありません。そのため、バグを見つけにくくなります。 '(xulのxul(x)in xs)' –
yupと入力すれば意味があります。アップ。 –
ダブタイピングと演算子のオーバーロードだけを使用するのはなぜですか?はるかに直感的で無臭であるようです。 – Pwnna