Birinci Sınıf İşlevler
İşlevleri aktarın ve döndürün
Birinci Sınıf İşlevler, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
İşlevler nesnedir
Python'da işlevler birinci sınıf nesnelerdir. Sayılar veya dizeler gibi değişkenlere atanabilir, veri yapılarında saklanabilir, bağımsız değişken olarak aktarılabilir ve başka işlevlerden döndürülebilirler.
def greet():
return 'hi'
print(type(greet))
print(greet())İşlevleri değişkenlere atama
Bir işlev adı yalnızca bir başvurudur. İşlevi başka bir ada atayıp o ad üzerinden çağırabilirsiniz; işlevin kendisine başvururken parantez kullanmayın.
def shout(text):
return text.upper()
yell = shout
print(yell('hello'))Veri yapılarında işlevler
İşlevleri listelerde veya sözlüklerde saklayabilir, ardından bunları dinamik olarak bulup çağırabilirsiniz.
def add(a, b):
return a + b
def sub(a, b):
return a - b
ops = {'+': add, '-': sub}
print(ops['+'](10, 4))
print(ops['-'](10, 4))İşlevleri bağımsız değişken olarak aktarma
Başka bir işlevi parametre olarak alan işleve üst düzey işlev denir. Aktarılan işlev bağımsız değişkendir.
def apply(func, value):
return func(value)
print(apply(str.upper, 'cat'))
print(apply(len, 'cat'))map birinci sınıf işlevleri kullanır
map gibi yerleşik işlevler, işlevlerin aktarılmasına dayanır. Burada bir işlev her öğeye uygulanır.
def square(n):
return n * n
result = list(map(square, [1, 2, 3, 4]))
print(result)filter bir koşul işlevi alır
filter, aktarılan işlevin True döndürdüğü öğeleri tutar. Nelerin kalacağına işlev karar verir.
def is_even(n):
return n % 2 == 0
print(list(filter(is_even, range(10))))İşlev döndürme
Bir işlev başka bir işlev döndürebilir. Döndürülen işlev daha sonra ayrı olarak çağrılabilir.
def get_greeter():
def greeter(name):
return 'Hello ' + name
return greeter
f = get_greeter()
print(f('Ada'))Sıralama anahtarı olarak işlevler
sorted, her öğeyi sıralamada kullanılacak bir değere dönüştüren bir key işlevini kabul eder.
words = ['banana', 'fig', 'cherry']
by_length = sorted(words, key=len)
print(by_length)Hızlı işlevler olarak anonim işlevler
lambda, küçük ve adsız bir işlevdir. Tek seferlik kullanımda bağımsız değişken olarak aktarmak için idealdir.
nums = [5, 1, 4, 2]
print(sorted(nums, key=lambda x: -x))İşlevlerin öznitelikleri vardır
İşlevler nesne olduğundan, __name__ gibi öznitelikler ve __doc__ içinde bir belge dizisi taşırlar.
def hello():
'Says hello.'
return 'hi'
print(hello.__name__)
print(hello.__doc__)Yönlendirme tablosu oluşturma
Bu fikirleri birleştirerek, uzun if/elif zincirleri kullanmadan ada göre bir işlev seçen temiz bir yönlendirme tablosu oluşturabilirsiniz.
def start():
return 'starting'
def stop():
return 'stopping'
actions = {'start': start, 'stop': stop}
command = 'start'
print(actions[command]())Hızlı Kontrol
Python'da işlevlerin "birinci sınıf" olması ne anlama gelir?
Özet: Birinci Sınıf İşlevler
Python'da şunları öğrendiniz:
- İşlevler atayabileceğiniz, saklayabileceğiniz, aktarabileceğiniz ve döndürebileceğiniz nesnelerdir.
- Üst düzey işlevler başka işlevleri alır veya döndürür (
map,filter,sortedanahtarı). lambda, hızlı ve adsız işlevler oluşturur.- Bu sayede uzun koşullu ifadeler yerine temiz yönlendirme tabloları oluşturabilirsiniz.
ops = {'double': lambda x: x * 2}
print(ops['double'](21))Sıkça Sorulan Sorular
“Birinci Sınıf İşlevler” dersi ücretsiz mi?
Evet — “Birinci Sınıf İşlevler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“Birinci Sınıf İşlevler” dersinde ne öğreneceğim?
İşlevleri aktarın ve döndürün Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Birinci Sınıf İşlevler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Birinci Sınıf İşlevler
- Kapanımlar ve Serbest Değişkenler
- nonlocal ve Değiştirilebilir Durum
- Kısmi İşlevler