0Pricing
Python Academy · Ders

match ve case Temelleri

Değer örüntülerine göre dallanın

match ve case Temelleri, 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.

Yapısal Desen Eşleştirme

Python 3.10, match deyimiyle yapısal desen eşleştirmeyi kullanıma sundu. Bu deyim, bir değeri bir dizi desenle karşılaştırır ve eşleşen ilk deseni çalıştırır; bu, birbirine zincirlenmiş if/elif deyimlerinden çok daha güçlüdür.

Temel Sözdizimi

match yazıp ardından eşleştirilecek değeri, sonra da bir veya daha fazla case bloğunu yazın. İlk eşleşen durum çalıştırılır.

command = 'start'

match command:
    case 'start':
        print('Starting up')
    case 'stop':
        print('Shutting down')

# prints: Starting up

Değişmez Değerlerle Eşleştirme

En basit desenler değişmez değerlerdir: sayılar, dizeler, True, False ve None. Eşleştirilen değer değişmez değere eşit olduğunda eşleşirler.

code = 404

match code:
    case 200:
        print('OK')
    case 404:
        print('Not Found')
    case 500:
        print('Server Error')

Joker _

Alt çizgi _, her şeyle eşleşen bir joker desenidir. else gibi genel bir varsayılan durum olarak en sona yerleştirin.

code = 418

match code:
    case 200:
        print('OK')
    case _:
        print('Unknown status')

OR ile Birleştirme

Birden fazla desenden herhangi biriyle eşleşmek için bir durumun içinde | işlecini kullanın.

code = 301

match code:
    case 200 | 201 | 204:
        print('Success')
    case 301 | 302:
        print('Redirect')
    case _:
        print('Other')

Değeri Yakalama

Bir desendeki yalın ad, eşleştirilen değeri o değişkene yakalar. Genel bir durumla eşleştiğiniz hâlde değeri kullanmak istediğinizde bunu kullanın.

value = 42

match value:
    case 0:
        print('zero')
    case other:
        print('got', other)

Sıra Önemlidir

Durumlar yukarıdan aşağıya sınanır ve ilk eşleşme kazanır. Çok erken yerleştirilen geniş bir yakalama deseni, daha sonra gelen daha özel durumları gölgeler.

x = 5

match x:
    case n:           # matches everything first!
        print('caught by capture')
    case 5:
        print('this never runs')

Match Değer Döndürmez

match bir ifade değil, bir deyimdir; bu nedenle değer döndürmez. Bir sonuca ihtiyacınız varsa durumların içinde bir değişkene değer atayın.

day = 6
label = ''

match day:
    case 0 | 6:
        label = 'weekend'
    case _:
        label = 'weekday'

print(label)

None ile Eşleştirme

None ile doğrudan eşleştirme yapabilirsiniz. Bu, bir zincirin içinde açıkça is None denetimi yapmaktan daha temizdir.

def describe(value):
    match value:
        case None:
            return 'nothing'
        case _:
            return 'something: ' + str(value)

print(describe(None))
print(describe(7))

Pratik Bir Yönlendirici

Desen eşleştirme, komut yönlendiricisi olarak kullanıldığında çok işe yarar; uzun bir if zincirini anlaşılır bir durumlar tablosuna dönüştürür.

def handle(cmd):
    match cmd:
        case 'help':
            return 'Showing help'
        case 'quit' | 'exit':
            return 'Goodbye'
        case _:
            return 'Unknown command'

print(handle('exit'))
print(handle('foo'))

True, False ve None ile Eşleştirme

True, False ve None sabitleri eşitlikleriyle değil, kimlikleriyle eşleştirilir. Bu, onları dallanma için güvenilir tekil nesneler hâline getirir.

def report(flag):
    match flag:
        case True:
            return 'enabled'
        case False:
            return 'disabled'
        case None:
            return 'unset'

print(report(True))
print(report(None))

Hızlı Kontrol

Bir match deyiminde _ joker deseni ne yapar?

Özet

Değer desenlerine göre dallanmayı öğrendiniz.

  • match, durumları yukarıdan aşağıya sınar; ilk eşleşme kazanır.
  • Değişmez değerlerle eşleştirin, genel durum için _ kullanın ve desenleri | ile birleştirin.
  • Yalın bir ad değeri yakalar.
  • match bir ifade değil, bir deyimdir.

Sıkça Sorulan Sorular

“match ve case Temelleri” dersi ücretsiz mi?

Evet — “match ve case Temelleri” 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.

“match ve case Temelleri” dersinde ne öğreneceğim?

Değer örüntülerine göre dallanı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.

“match ve case Temelleri” 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

  1. match ve case Temelleri
  2. Dizileri ve Eşlemeleri Eşleştirme
  3. Sınıf Örüntüleri
  4. Koruyucular ve Jokerler
← Python Academy Sayfasına Dön