Bu koddaki return kullanımını anlamadım

def usalma(number):
   def inner(power):
       return number ** power

   return inner 

two = usalma(2)
print(two(3))`

Burada return inner yerine inner(…) yazarsam neden olmaz.
Bu return’ü tam anlayamadım…

Merhaba,
henüz yeniyim ancak,
programı yazan kişi farklı bir yerde “return inneri” kullanmak için yazmış olmalı.
umarım yanlış bilgilendirmiyorumdur.

1 Beğeni

return inner(...) yazarsanız, usalma fonksiyonu çağrıldığında inner fonksiyonu da çağrılır ve number ** number sonucunu elde edersiniz.

return inner yazarsanız, usalma fonksiyonu çağrıldığında, inner fonksiyonunun ismi geri döner. Yani two = usalma(2) ifadesindeki two, inner fonksiyonuna eşitlenmiş olur ve number parametresi 2 olur. two fonksiyonunu çağırdığınızda da 2 ** 3 işleminin sonucu hesaplanır.

4 Beğeni

Hmm anladım teşekkürler