0Pricing
Python Academy · Ders

Dizileri ve Eşlemeleri Eşleştirme

Listeleri ve sözlükleri ayrıştırın

Dizileri ve Eşlemeleri Eşleştirme, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 2. 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ıyı Parçalayan Desenler

match deyiminin asıl gücü yapı çözümlemedir. Dizi ve eşleme desenleri, verinin biçimini denetlemenize ve değerleri aynı anda çıkarmanıza olanak tanır.

Sabit Uzunluktaki Listeyle Eşleştirme

Köşeli parantez içindeki bir dizi deseni, tam olarak o uzunluktaki bir liste veya demetle eşleşir ve her öğeyi bir ada bağlar.

point = [3, 4]

match point:
    case [x, y]:
        print('x =', x, 'y =', y)

Uzunluk Eşleşmelidir

İki öğeli bir desen, üç öğeli bir diziyle eşleşmez. Her durum hem yapıyı hem de uzunluğu denetler.

data = [1, 2, 3]

match data:
    case [a, b]:
        print('pair')
    case [a, b, c]:
        print('triple:', a, b, c)

Değişmez Değerleri ve Yakalamaları Birleştirme

Bazı konumları değişmez değerlere sabitleyip diğerlerini yakalayabilirsiniz. Bu, yalnızca verilen değişmez değerle başlayan dizilerle eşleşir.

command = ['move', 10, 20]

match command:
    case ['move', dx, dy]:
        print('moving by', dx, dy)
    case ['stop']:
        print('stopping')

Kalanı * ile Yakalama

Yıldızlı bir ad, kalan öğeleri genişletilmiş paket açmaya benzer şekilde bir liste olarak yakalar.

items = [1, 2, 3, 4, 5]

match items:
    case [first, *rest]:
        print('first:', first)
        print('rest:', rest)

Boş ve Tek Öğeli Desenler

Dizi desenleri uç durumları düzgünce ele alır: boş bir listeyi, tek bir öğeyi veya birçok öğeyi.

def describe(seq):
    match seq:
        case []:
            return 'empty'
        case [x]:
            return 'one: ' + str(x)
        case [x, *rest]:
            return 'many, first ' + str(x)

print(describe([]))
print(describe([9]))
print(describe([1, 2, 3]))

Sözlüklerle Eşleştirme

Bir eşleme deseni süslü parantezleri kullanır. Verilen anahtarların mevcut olduğunu denetler ve değerlerini bağlar. Eşleştirilen değerdeki fazladan anahtarlara izin verilir.

event = {'type': 'click', 'x': 10, 'y': 20}

match event:
    case {'type': 'click', 'x': x, 'y': y}:
        print('click at', x, y)

Kısmi Anahtar Eşleştirme

Bir eşleme deseni yalnızca listelediğiniz anahtarları gerektirir. Diğer anahtarlar yok sayılır; bu, isteğe bağlı alanları olan iletiler için çok kullanışlıdır.

event = {'type': 'key', 'code': 'A', 'extra': 1}

match event:
    case {'type': 'key', 'code': code}:
        print('key pressed:', code)

Kalan Anahtarları Yakalama

Eşleşmeyen tüm anahtar-değer çiftlerini bir sözlüğe yakalamak için **rest kullanın.

event = {'type': 'move', 'dx': 5, 'dy': 7}

match event:
    case {'type': 'move', **rest}:
        print('move details:', rest)

Desenleri İç İçe Kullanma

Desenler serbestçe iç içe kullanılabilir. İçinde bir liste bulunan bir sözlükle eşleşebilir ve her ikisinin yapısını aynı anda çözümleyebilirsiniz.

data = {'name': 'grid', 'size': [3, 4]}

match data:
    case {'name': name, 'size': [w, h]}:
        print(name, 'is', w, 'by', h)

Dizeler Burada Dizi Sayılmaz

Dizi desenleri, yinelenebilir olmalarına rağmen dizeler veya bayt dizileriyle bilinçli olarak eşleşmez. Bu, bir dizenin yanlışlıkla karakter karakter parçalanmasını önler.

value = 'hi'

match value:
    case [a, b]:
        print('matched as sequence')
    case str():
        print('matched as string')

Hızlı Kontrol

[1, 2, 3, 4] ile eşleştirildiğinde [first, *rest] deseni hangi değerleri bağlar?

Özet

Listelerin ve sözlüklerin yapısını çözümlemeyi öğrendiniz.

  • Dizi desenleri uzunluğu denetler ve öğeleri bağlar.
  • *rest kalan liste öğelerini yakalar.
  • Eşleme desenleri anahtarlarla eşleşir; fazladan anahtarlara izin verilir.
  • **rest kalan sözlük çiftlerini yakalar; desenler iç içe kullanılabilir.

Sıkça Sorulan Sorular

“Dizileri ve Eşlemeleri Eşleştirme” dersi ücretsiz mi?

Evet — “Dizileri ve Eşlemeleri Eşleştirme” 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.

“Dizileri ve Eşlemeleri Eşleştirme” dersinde ne öğreneceğim?

Listeleri ve sözlükleri ayrıştı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 2. dersidir.

“Dizileri ve Eşlemeleri Eşleştirme” 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