私はデコレータを学んでいて、ここでは以下をデコレータパターンに変更しようとしています。
def invert(x):
return 1/x
print invert(5)
デコレータを使用して変更できます。
def safe(fun, *args):
if args[0]!=0:
return fun(*args)
else:
"Division by 0"
def invert(x):
return 1/x
print safe(invert, 5)
@wapper構文を使用して、
def safe(fun, *args):
if args[0]!=0:
return fun(*args)
else:
"Division by 0"
@safe
def invert(x):
return 1/x
print invert(5)
上記のコードはエラーになりますIndexError: tuple index out of range
。私はそれが間違っている理由とそれを修正する方法を理解しようとしています。