Witam, mam pytanie. W ponizszym kawalku kodu ktory znalazlem na stronie:
def smart_divide(func):
def inner(a, b):
print "division of", a, "and", b
if b == 0
print "division by 0 error"
return
return func(a, b)
return inner
@smart_divide
def divide(a, b):
return a / b
divide(5, 2)
nie rozumiem jak parametry 5 i 2 sa przekazane do funkcji inner. Jesli dobrze rozumiem te anotacje, to powyzsza jest tylko skrotem dla:
divide = smart_divide(divide(5, 2))
Funkcja smart_divide przyjmuje jako argument funkcje, i zwraca obiekt ktory jest funkcja inner. Inner z kolei skads bierze parametry przekzane do funkcji zewnetrznej (???), a nastepnie zwraca wynik wywolania parametru funkcji zewnetrznej?
Moglby ktos po kolei opisac co sie dzieje w kazdym kroku? Dzieki wielkie.