- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
- Bağlantıyı al
- X
- E-posta
- Diğer Uygulamalar
Merhaba! Geleneksel olarak, bir değişkenin birden fazla olası değere sahip olup olmadığını kontrol etmek için uzun if-elif-else yapılarını kullanırdık. Bu yapılar, özellikle çok sayıda koşul olduğunda, kodu okunması zor bir "merdiven" haline getirebiliyordu.
match ifadesi (Pattern Matching), bu sorunu çözmek için Python 3.10 ile tanıtıldı. Temel olarak bir değişkenin veya ifadenin yapısını (desenini) kontrol eder ve eşleşen ilk duruma (case) göre kodu çalıştırır.
Bu yapı, diğer dillerdeki switch/case yapısına benzer, ancak Python'da çok daha güçlüdür ve sadece sabit değerleri değil, karmaşık veri yapılarını da kontrol edebilir.
match ve casematch ifadesi, bir değişkeni veya ifadeyi alır ve bunu sırayla tanımlanan case (durum) bloklarıyla karşılaştırır.
match anahtar kelimesiyle başlar ve ardından kontrol edilecek ifade/değişken gelir.
Her bir olası değer/desen için case anahtar kelimesi kullanılır.
Eşleşen ilk case bloğu çalışır ve match yapısından çıkılır.
Örnek: Kullanıcıdan gelen komuta göre farklı işlem yapma.
case _ (Wildcard)Tıpkı else gibi, match yapısında da yukarıdaki case bloklarından hiçbirinin eşleşmemesi durumunda çalışacak bir varsayılan durum tanımlanabilir. Bu, alt çizgi (_) sembolü ile gösterilir ve en sona konulmalıdır.
match ifadesini if-elif'ten ayıran en büyük fark, sadece basit değerleri değil, Listeler, Tuple'lar ve Sözlükler gibi veri yapılarını da kontrol edebilmesidir.
Bir koordinatın yapısını ve değerlerini aynı anda kontrol edebiliriz:
Listelerin eleman sayısını ve ilk/son elemanlarını kontrol edebiliriz:
if Guards)Bir case bloğunun sadece desen eşleştiğinde değil, aynı zamanda ek bir Boolean koşul da doğru olduğunda çalışmasını isteyebiliriz. Bu, if koruyucuları (guards) ile yapılır.
match/case ifadesi, Python'da okunaklı, hızlı ve karmaşık desenleri işleyebilen kod yazma yeteneğinizi büyük ölçüde artırır. Eğer Python 3.10 veya üzeri kullanıyorsanız, özellikle çok sayıda koşul veya yapısal veri kontrolü gerektiren durumlarda
Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.
Yorumlar
Yorum Gönder