İç İçe (nested) Fonksiyonlar
Python'da iç içe (nested) fonksiyonlar kullanabilmek, Python'ın sunduğu güçlü özelliklerden biridir. Bir fonksiyonu başka bir fonksiyonun içinde tanımlayabiliriz.
İç içe fonksiyonlar, genellikle şu durumlar için kullanılır:
Bir fonksiyonun içinde bir döngü veya karmaşık bir ifade tekrar tekrar kullanılıyorsa, bu döngüyü veya ifadeyi iç fonksiyon olarak tanımlamak kodun okunabilirliğini artırabilir.
İç fonksiyonlar, dış fonksiyondan gelen argümanlara erişebilirler. Bu, bazı durumlarda çok kullanışlı olabilir. Örneğin, iç fonksiyon, dış fonksiyondan gelen bir parametreyi kullanarak bir hesaplama yapabilir.
Aşağıda, bir iç içe fonksiyon örneği bulunmaktadır:
def outer_function(x): print(f'Outer function received: {x}') def inner_function(y): return y * x result = inner_function(10) print(f'Inner function returned: {result}') outer_function(5)
Bu örnekte, outer_function, inner_function adında bir başka fonksiyonu tanımlar. inner_function, dış fonksiyondan x argümanını kullanır ve bu değeri y ile çarpar. Bu özellikle iç içe fonksiyonların gücünü gösterir: İç fonksiyonlar, dış fonksiyonun değişkenlerine ve parametrelerine erişebilirler.
İç içe fonksiyonların bir başka kullanımı da, bir fonksiyonun başka bir fonksiyonu döndürmesidir. Bu, fonksiyonların birinci sınıf objeler olduğu Python gibi dillerde son derece güçlü bir özelliktir. Aşağıda bir örneğini görebilirsiniz:
def outer_function(x): def inner_function(y): return y * x return inner_function times_two = outer_function(2) print(times_two(10)) # Output: 20 times_three = outer_function(3) print(times_three(10)) # Output: 30
Bu örnekte, outer_function fonksiyonu inner_function fonksiyonunu döndürür. Bu sayede, x parametresi "hatırlanır" ve sonraki çağrılarda kullanılır. Bu teknik, "closure" (kapama) olarak bilinir ve oldukça kullanışlıdır.
0 Comments
Recommended Comments
There are no comments to display.