Python'da Birinci Sınıf işlevler
Python'da işlevler birinci sınıf nesneler olarak ele alınır. Bu, sayı dizileri veya başka herhangi bir değişken gibi kullanılabilecekleri anlamına gelir. Yapabilirsiniz:
- Değişkenlere işlevler atayın.
- Bunları diğer işlevlere argüman olarak iletin.
- Bunları işlevlerden döndürün.
- Bunları listeler veya sözlükler gibi veri yapılarında saklayın.
Bu yetenek, yeniden kullanılabilir modüler ve güçlü kod yazmanıza olanak tanır.
Birinci Sınıf Fonksiyonların Özellikleri
Python'daki işlevler aşağıdaki önemli özelliklere sahiptir. Bunları örneklerle tek tek görelim:
1. Değişkenlere Fonksiyon Atama
Yapabiliriz bir değişkene fonksiyon atamak ve işlevi çağırmak için değişkeni kullanın.
Örnek:
Python def msg ( name ): return f 'Hello { name } !' # Assigning the function to a variable f = msg # Calling the function using the variable print ( f ( 'Emma' ))
Çıkış
Hello Emma!
Açıklama:
- msg işlevi f değişkenine atanır.
- Artık fonksiyonların değişkenler gibi davrandığını gösteren msg'yi çağırmak için f kullanılabilir.
2. Fonksiyonların Bağımsız Değişken Olarak Aktarılması
Fonksiyonlar şunlar olabilir: argüman olarak aktarıldı sağlayan diğer işlevlere yüksek dereceli fonksiyonlar .
Örnek:
Python def msg ( name ): return f 'Hello { name } !' def fun1 ( fun2 name ): return fun2 ( name ) # Passing the msg function as an argument print ( fun1 ( msg 'Alex' ))
Çıkış
Hello Alex!
Açıklama:
- fun1 fonksiyonu girdi olarak başka bir fonksiyonu (fun2) alır.
- msj fun1'e iletilir ve daha sonra onu 'Alex' olarak adlandırır.
3. Diğer İşlevlerden Geri Dönen İşlevler
Bir fonksiyon şunları yapabilir: başka bir işlevi döndür işlev fabrikalarının oluşturulmasına izin verir.
Örnek:
Python def fun1 ( msg ): def fun2 (): return f 'Message: { msg } ' return fun2 # Getting the inner function func = fun1 ( 'Hello World!' ) print ( func ())
Çıkış
Message: Hello World!
Açıklama:
- fun1 fonksiyonu başka bir fun2 fonksiyonunu tanımlar ve onu döndürür.
- func, daha sonra çalıştırılabilecek, döndürülen fun2 işlevini saklar.
Fonksiyonlar aşağıdaki gibi veri yapılarında saklanabilir: listeler veya sözlükler .
Örnek:
Python def add ( x y ): return x + y def subtract ( x y ): return x - y # Storing functions in a dictionary d = { 'add' : add 'subtract' : subtract } # Calling functions from the dictionary print ( d [ 'add' ]( 5 3 )) print ( d [ 'subtract' ]( 5 3 ))
Çıkış
8 2
Açıklama:
- Ekleme ve çıkarma işlevleri bir sözlükte saklanır.
- Anahtarları kullanılarak bunlara erişilir ve doğrudan yürütülür.
Aşağıdakilerden hangisi programlama dillerinde birinci sınıf bir işlevi en iyi şekilde tanımlar?
- A
Yalnızca kendi kapsamından çağrılabilen bir işlev.
- B
Bağımsız değişken olarak iletilen ve diğer nesneler gibi diğer işlevlerden döndürülen değişkenlere atanabilen bir işlev.
- C
Yalnızca bir modülün en üst düzeyinde tanımlanabilecek bir işlev.
- D
Yalnızca belirli bir bağlamda yürütülebilen bir işlev.
Birinci sınıf işlevler bağlamında üst düzey işlev nedir?
- A
Yalnızca temel veri türlerini döndürebilen bir işlev.
- B
Diğer işlevleri argüman olarak alabilen veya sonuç olarak döndürebilen bir işlev.
- C
Başka bir işlev içinde tanımlanan ancak döndürülemeyen bir işlev.
- D
Ayrı bir iş parçacığında yürütülen bir işlev.
Aşağıdaki kodun çıktısı ne olacaktır?
def selamlıyorum(isim):
'Merhaba {isim}'e geri dön
say_hello = selamlıyorum
print(say_hello('İnek'))
- A
Merhaba selamlıyorum
- B
selamlaşmak
- C
Merhaba İnek
- D
TipHatası
Fonksiyonlar değişkenlere atanabilir. Burada say_hello selamlamak için başka bir referans haline gelir.
Aşağıdakilerden hangisi birinci sınıf fonksiyonların özelliklerinden değildir?
- A
Fonksiyonlar veri yapılarında saklanabilir
- B
Fonksiyonlar değişkenlere atanabilir
- C
Fonksiyonlar diğer fonksiyonları döndürebilir
- D
İşlevler yalnızca ilkel türleri döndürebilir
Birinci sınıf işlevler, temel işlevlerle sınırlı olmamak üzere, diğer işlevler de dahil olmak üzere her türlü türü döndürebilir.
Bu kodun çıktısı ne olacak?
def dış():
def iç():
'İç fonksiyon'u döndür
içeriye dönüş
işlev = dış()
yazdır(işlev())
- A
İç fonksiyon
- B
iç
- C
dış
- D
Hata
Outer() iç işlevi döndürür ve func() onu dizesini döndürerek çağırır.
Aşağıdakilerden hangisi birinci sınıf fonksiyonların özelliklerinden biri DEĞİLDİR?
- A
Değişkenlere atanabilirler.
- B
Diğer işlevlere argüman olarak aktarılabilirler.
- C
Bir programda yalnızca bir kez tanımlanabilirler.
- D
Diğer işlevlerden döndürülebilirler.
Aşağıdaki kodun çıktısı nedir?
def make_multiplier(n):
def çarpan(x):
x * n'yi döndür
dönüş çarpanı
çift = make_multiplier(2)
yazdır(çift(5))
- A
7
- B
10
- C
25
- D
Hata
make_multiplier(2), bağımsız değişkenini 2 ile çarpan bir işlev döndürür. Yani double(5), 10 değerini döndürür.
Python değişkenlere göre fonksiyonları nasıl ele alıyor?
- A
İşlevler statik nesnelerdir
- B
İşlevler sabittir ve yeniden atanamaz
- C
İşlevler birinci sınıf vatandaşlardır ve saklanıp aktarılabilir ve yeniden atanabilir
- D
İşlevlerin kullanılabilmesi için global olarak bildirilmesi gerekir
Birinci sınıf vatandaş olmak, diğer nesneler gibi işlevlerin atanıp geçilebileceği ve geri döndürülebileceği anlamına gelir.
Sınav Başarıyla Tamamlandı Puanınız: 2 /8 Kesinlik : %0 Açıklamayı Görmek İçin Giriş Yapın 1 /8 1 /8 < Previous Sonraki >