Menu
Coddy logo textTech

Nested Functions

Coddy'nin Python Dekoratörleri kursunda ders 2 / 12.

Dekoratörlere (decorators) dalmadan önce, Python fonksiyonlarıyla ilgili birkaç önemli kavramı anlamamız gerekiyor.

Python'da, iç içe geçmiş fonksiyon (nested function) olarak da bilinen, bir fonksiyonu diğerinin içine dahil edebiliriz.

Örneğin,

def outer_function():
    print("This is the outer function.")
    
    def inner_function():
        print("This is the inner function.")
    
    inner_function()

Bu örnekte, outer_function, inner_function adında iç içe geçmiş bir fonksiyon içerir.

outer_function çağrıldığında, önce "This is the outer function." yazdıracak ve ardından inner_function fonksiyonunu çağıracaktır. inner_function daha sonra "This is the inner function." yazdıracaktır.

inner_function fonksiyonunun yalnızca outer_function içinden çağrılabileceğini unutmayın.

Eğer inner_function fonksiyonunu outer_function dışından çağırmaya çalışırsanız, inner_function tanımlı olmadığını belirten bir NameError alırsınız.

challenge icon

Görev

Kolay

Bir isim alan ve bu ismi içeren bir selamlama mesajı döndüren greeting_generator adında bir fonksiyon yazın.

Selamlama mesajı, ismi argüman olarak alan ve "Hello, [name]!" diyen bir dize döndüren get_greeting adında bir iç içe fonksiyon tarafından oluşturulmalıdır.

 

İşte fonksiyonun nasıl çalışması gerektiğine dair bir örnek:

>>> greeting = greeting_generator("Alice")
>>> greeting
"Hello, Alice!"

>>> greeting = greeting_generator("Bob")
>>> greeting
"Hello, Bob!"

Kısıtlamalar

  • Selamlama mesajını oluşturmak için get_greeting adında bir iç içe fonksiyon kullanmalısınız.
  • Selamlama mesajı, greeting_generator fonksiyonuna iletilen ismi içermelidir.

Kendin dene

Python Dekoratörleri bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi