Ek bilgiler
Python'da Ternary Operator (Short If) ve List Comprehension (Short For) Kullanımı
Kod yazarken bazen işleri hızlandırmak ve gereksiz satır kalabalığından kurtulmak isteriz. Çok basit bir if-else bloğu için satırlarca kod yazmak yerine tek satırda ternary operatörü (short if) kullanabiliyoruz. Örneğin bir kullanıcının aktiflik durumuna göre "aktif" veya "deaktif" değerini tek satırda belirlemek hem yazım hızını artırıyor hem de kodu çok daha kompakt bir hale getiriyor.
Döngüler tarafında ise list comprehension (short for) tam anlamıyla hayat kurtarıyor. Boş bir liste tanımlayıp içine tek tek eleman append etmek yerine, köşeli parantez içinde döngüyü ve üretilecek elemanı tanımlayabiliyoruz. Üstelik bu yapı sadece elemanları listelemekle kalmıyor; eleman üzerinde matematiksel işlemler yapmamıza veya sonuna bir if koşulu ekleyerek filtreleme (örneğin sadece tek sayıları alma) yapmamıza olanak tanıyor.
Bu tek satırlık pratik yapılar çok keyifli olsa da aşırıya kaçmamak kritik bir eşiktir. Karmaşık mantıklar kurulduğunda veya çok fazla işlem zincirlendiğinde tek satıra sıkışmak kodun okunabilirliğini öldürebilir. Değişken isimlendirmelerinde de sadece i deyip geçmek yerine amacını belirten açık isimler tercih etmek ve gerektiğinde alt alta açık bloklar yazmak gelecekte kodun arkasını toplamayı kolaylaştırır.
📌 Hatırlanması Gereken Temel Noktalar (Takeaways)
- Ternary Operator (Short If): Basit karar mekanizmalarını
değer if koşul else alternatif şeklinde tek satırda temiz biçimde ifade edebilirsiniz.
- List Comprehension (Short For): Boş liste oluşturup
append kullanma hamallığından kurtararak tek satırda liste türetmenizi sağlar.
- Döngü İçi Dönüşüm: Comprehension içerisinde dönen her elemanı anında manipüle edebilir (örneğin çarpma veya formatlama uygulayabilir) ve listeye öyle aktarabilirsiniz.
- Koşullu Filtreleme: Comprehension yapısının sonuna
if ekleyerek döngüden sadece belirli şartları sağlayan elemanları filtreleyebilirsiniz.
- Okunabilirlik Önceliği: Kodun tek satıra sığması her zaman iyi olduğu anlamına gelmez; karmaşıklaştığı noktada kod okunabilirliğini korumak için klasik bloklara dönmek gerekir.
📚 Ek Kaynaklar ve Derinlemesine Okuma Önerileri (Ek Bilgi)