Pythonda Üçlü Operatör – Ne? Nasıl? Neden?

Programlama dünyasında, kodu basitleştirme yeteneğine sahip olmak, hem kodun okunabilirliği hem de verimlilik açısından değerlidir. Python'da bunu yapmak için kullanabileceğiniz araçlardan biri üçlü operatördür.

Python üçlü operatörü (veya koşullu ifade), tümü tek bir kod satırında, belirli bir koşulun doğru veya yanlış olmasına dayalı olarak ifadeleri değerlendirmenize olanak tanır. Kodunuzu daha kompakt hale getiren çok satırlı bir if-else ifadesinin yerini etkili bir şekilde alabilir.

Python üçlü operatörlerinin potansiyelini keşfettikçe , programlarınızı optimize etmek için çok faydalı olabileceklerini göreceksiniz. Karar verme mantığını basitleştirmek veya kodunuzu düzene sokmak için, Python üçlü operatörlerini etkin bir şekilde kullanmak, kodunuzun okunmasını ve anlaşılmasını çok daha kolay hale getirebilir.

Öyleyse, kaputun altına bir göz atalım ve neyle ilgili olduklarını görelim!

Python'da Üçlü Operatör – Ne?  Nasıl?  Neden?

İçindekiler

Python Üçlü Operatörü nedir?

Python Üçlü işleçler, bir koşulun doğru veya yanlış olmasına dayalı olarak bir ifadeyi değerlendirmenin kısa bir yolunu sunarak kodunuzu derli toplu ve okunması kolay hale getirir. Bazı insanlar bunlara koşullu ifadeler veya koşullu operatörler de der.

Temel Sözdizimi

Üçlü operatör Python 2.5'te tanıtıldı ve üç işlenenden oluşan basit bir yapıya sahip:

#demonstrate python ternary operator syntax

result = value_if_true if condition else value_if_false

Bu sözdizimi üç ana bölümden oluşur:

  1. Koşul : Bu, doğru veya yanlış olarak değerlendirilen bir boole ifadesidir;

  2. value_if_true : Boole ifadesi doğruysa döndürülen değer.

  3. value_if_false : Boole ifadesi yanlışsa döndürülen değer.

Yaygın Kullanım Durumları

Üçlü işleçler veya koşullu ifadeler genellikle kodunuzdaki kısa if-else ifadelerini basitleştirmek için kullanılır. Bir Python üçlü işlecini nasıl uygulayabileceğinizi gösteren birkaç örnek:

Örnek 1: Bir koşula göre değer atama

 age = 25
 
category = "adult" if age >= 18 else "minor"

Bu örnekte Python üçlü operatörü, yaş 18'den büyük veya 18'e eşitse değişken kategorisine " yetişkin ", aksi takdirde " küçük " değerini atar .

Python üçlü işleci yerine bir if-else deyimi kullanmayı seçtiğimizi varsayarsak, şuna benzer:

age = 25

if age > 18:
   category = "Adult"
else:
   category = "Minor"

Bu durumda, üçlü operatör kullanmanın kodu çok daha derli toplu ve okunması kolay hale getirdiğini görebiliriz.

Örnek 2: İki sayıdan en küçüğünü seçme

a = 10
b = 15

smallest = a if a < b else b

Burada, üçlü koşullu operatör, a ve b arasındaki daha küçük değeri döndürerek iki sayının en küçüğünü belirlemenize yardımcı olur.

Örnek 3: İki değişkenin minimum değerini atama:

num1 = 10
num2 = 20

min_num = num1 if num1 < num2 else num2
print(min_num)

Üçlü operatör koşulu değerlendirip daha küçük değeri döndürdüğünden, bu örneğin çıktısı 10 olacaktır.

Örnek 4: Bir sayının çift mi tek mi olduğunu bulma:

num = 5

result = "Even" if num % 2 == 0 else "Odd" 
print(result)

Koşul False olarak değerlendirildiğinden ve üçlü işleç uygun sonucu döndürdüğünden, bu örneğin çıktısı Odd olacaktır.

Bu örnekler, bir Python üçlü operatörünün kodunuzu nasıl daha kısa ve daha kolay okunabilir hale getirebileceğini gösterir. Temel sözdizimini kullanarak ve yaygın kullanım durumlarını anlayarak, Python kodunuza etkili bir şekilde üçlü bir işleç dahil edebilirsiniz.

Daha pratik uygulamalarda, verileri kontrol etmek, değerlendirmek veya üzerinde işlemler gerçekleştirmek için bir döngü ile birlikte kullanabilirsiniz.

Daha verimli veri işleme için Python'da Eksik Verilerin Enterpolasyon ile Nasıl İşleneceği ile ilgili bu videoyu inceleyebilirsiniz .

Python Üçlü Operatörü Nasıl Kullanılır?

Normal üçlü işleç if-else sözdizimi, bir Python üçlü işlecini uygulayabileceğimiz birçok yoldan yalnızca biridir. Python sözlükleri, tuple'lar ve listeler gibi yaygın veri yapılarını kullanarak da uygulayabiliriz.

Bu yöntemlerden bazılarına bakalım:

Sözlük Eşleme

Farklı koşullar için sonuçları depolamak üzere sözlük eşlemeli bir Python üçlü operatörünü taklit edebilirsiniz. Sınırlı bir dizi koşula ve karşılık gelen sonuçlara sahip olduğunuzda yararlı olabilir.

Bir sayının çift mi yoksa tek mi olduğunu kontrol etmek için sözlük eşlemeyi kullanan bir örneği burada bulabilirsiniz:

#Implement python ternary operator with dictionary mapping

number = 7
result = {True: "Even", False: "Odd"}

is_even = result[number % 2 == 0]

Parantez içindeki boole ifadesi False olarak değerlendirdiğinden, yukarıdaki program " Odd " değerini döndürür .

Demetleri Kullanma

Python demetleri, üçlü işleçleri uygulamak için kullanabileceğiniz sıralı, değişmez bir veri yapısıdır. Temel olarak, grup üçlü operatörünün söz dizimi şu şekildedir:

(condition_is_false, condition_is_true)[condition]

Koşul, Python'da sırasıyla 1 ve o tamsayılarına eşit olan True veya False olarak değerlendirilir .

Böylece, demet, sonuç dizini ile eşleşen öğeyi döndürür. Örneğin, koşul 1 olan True olarak değerlendirilirse, koşul_is true kodu döndürülür .

Aksi takdirde, 0 olan False olarak değerlendirilir ve demet koşul_is_false değerini döndürür . İşte aşağıda bir örnek:

#Implement ternary operator with tuples

c = False
result = ('a', 'b')[c]

Koşul False olarak değerlendirildiğinden, demet ' a ' değerini değişken sonuçta saklar . Çoğu geliştirici, bu biçimi üçlü operatörler için kullanmaktan hoşlanmaz, çünkü biraz kafa karıştırıcı olabilir, bu da amacı bozar.

Lambda İşlevleri

Lambda işlevleri, üçlü işleçlere alternatif olarak kullanabileceğiniz anonim tek satırlı işlevlerdir. Basit hesaplamalar yapmanıza ve belirli bir koşula göre bir sonuç döndürmenize olanak tanırlar.

İşte iki sayının maksimumunu bulmak için bir lambda işlevinin kullanımına bir örnek:

#implement python ternary operator with lambda functions

a, b = 10, 20
max_value = (lambda: a, lambda: b)[a < b]()

Koşul True olarak değerlendirilirse lambda işlevi a döndürür . Aksi takdirde, b değerini döndürür .

İç İçe Üçlü Operatör nedir?

İç içe üçlü işleç, iki veya daha fazla mantıksal ifade içeren koşullu bir ifadedir. Bunu, birden çok koşulu kontrol etmek için iki veya daha fazla mantıksal koşulu birbirine zincirleyerek oluşturabilirsiniz.

Bu tür üçlü işleçleri " elif " ifadelerini ve iç içe geçmiş if-else bloklarını modellemek için kullanabiliriz .

Yuvalanmış bir Python üçlü operatör örneğine bakalım .

age = 21

#Normal elif statement
if age< 21:
   print('Child')
elif age< 25:
   print ('young adult')
else:
   print('Adult')

#elif statement as a ternary operator
print('Child') if age < 18 else print('Young adult') if age <21 else print ('Old Person')

#Output: 'Young Adult'

Yuvalanmış bir if-else deyimini taklit etmek istiyorsanız, Python üçlü operatörüne köşeli ayraçlar ekleyebilirsiniz. Ancak, üçlü operatör çok uzun ve okunamaz hale gelebileceğinden bu iyi bir uygulama değildir.

Bu gibi durumlarda, kodunuzda standart bir if-else bloğu kullanmanız daha iyi olur.

Python Üçlü Operatörünün Avantajları Nelerdir?

Kodunuzda Python üçlü operatörünü kullanmanın birçok avantajı vardır. Bu avantajlardan bazıları şunlardır:

Kod Okunabilirliği ve Kısalık

Python üçlü operatörünü kullanmak, kodunuzu daha kısa hale getirebilir ve koşullu ifadeleri tek bir satıra yazmanıza olanak tanır.

Bu, özellikle basit ve anlaşılır koşullarla uğraşırken yararlıdır. Birden çok if-else deyimi satırına olan ihtiyacı azalttığı için kodunuz daha okunabilir ve anlaşılması daha kolay olabilir.

Performansla İlgili Hususlar

Üçlü işleç daha derli toplu koda yol açabilse de, performans üzerindeki etkisi genellikle minimum düzeydedir. Python'un yorumlayıcısı, kod yürütmeyi optimize etmek için tasarlanmıştır, yani hem üçlü işleç hem de if-else ifadeleri genellikle benzer performans özelliklerine sahiptir.

Python kodu yazarken , performans açısından kritik uygulamalarla çalışmadığınız sürece performanstan çok okunabilirlik ve sürdürülebilirliğe öncelik verin.

Farklı durumların farklı yaklaşımlar gerektirdiğini unutmayın. Bazen, üçlü işleci kullanmak faydalı olurken, diğer durumlarda geleneksel if-else ifadelerine bağlı kalmak daha uygun olabilir.

Python Üçlü Operatörünün Dezavantajları

Üçlü operatörler, kodunuzu basitleştirmek ve kompakt hale getirmek için harikadır. Ancak bunları kullanmanın bazı sakıncaları olabilir.

İşte bu dezavantajlardan bazıları:

İç İçe Üçlü Operatörler Karmaşık Olabilir

Bazı durumlarda, üçlü işleç, özellikle karmaşık veya iç içe koşullar kullanılırken kodu daha az okunabilir hale getirebilir. Bu durumlarda, geleneksel if-else ifadelerini dahil etmek, kod netliğini korumak için daha uygun olabilir.

Bu, özellikle iç içe geçmiş bir if-else deyimini bir üçlü işleçle değiştirmeye çalıştığınızda doğrudur. Nadiren temiz kodla sonuçlanır.

Her İşlenen bir İfadedir

Bir Python üçlü operatöründeki tüm işlenenler veya dönüş değerleri, ifadeler değil, ifadelerdir. Üçlü operatörün sözdizimi içinde bir atama deyimi kullanmaya çalışmak bir sözdizimi hatasına yol açar.

Bunun bir örneğini aşağıdaki kodda inceleyebilirsiniz.

'Adult' if True else x = 44

Aşağıda görebileceğiniz gibi, bir sözdizimi hatasıyla sonuçlanır. Bu gibi durumlarda koşullu işleç yerine if-else bloğu kullanmalısınız.

Python'da Üçlü Operatör – Ne?  Nasıl?  Neden?

En İyi Uygulamalar ve İpuçları

Python'da üçlü operatörü kullanırken temiz, verimli ve okunabilir kod yazmanıza yardımcı olacak bazı en iyi uygulamalar ve ipuçları vardır.

İlk olarak, koşullu ifadenizin kısa ve öz olduğundan emin olun. Uzun ve karmaşık koşullar, üçlü operatörün arkasındaki mantığı anlamayı zorlaştırabilir.

Kendinizi karmaşık bir durumla karşı karşıya bulursanız, bunun yerine normal bir if-else ifadesi kullanmak daha iyi olabilir.

#demonstrate nested ternary operator
# Good example 
result = "positive" if number >= 0 else "negative" 


# Bad example 
result = (a + b if (x > 10 and y > 20) else c + d) if (z > 30 and p > 40) else ...

İkinci olarak, kafa karıştırıcı ve okunamayan kodlara yol açabilecek birden çok üçlü işleci iç içe yerleştirmekten kaçının. Karmaşık koşullarda olduğu gibi, daha fazla okunabilirlik için bir if-else ifadesi kullanmayı düşünün.

# Good example 

x = A if condition1 else B if condition2 else C 

# Bad example 
x = A if condition1 else (B if condition2 else (C if condition3 else ...)) 

Son olarak, üçlü operatör için uygun kullanım durumlarına dikkat edin. Hem koşulun hem de sonucun anlaşılmasının kolay olduğu basit, tek satırlık atamalar için en uygundur.

Kodunuz daha karmaşık mantık, döngüler veya çoklu atamalar içeriyorsa, geleneksel if-else ifadelerine bağlı kalmak daha iyidir.

Python Üçlü Operatörler hakkında SSS

İşte yeni programcıların genellikle üçlü operatörler hakkında bize sordukları bazı sorular:

Üçlü işleci Python'da bir dönüş ifadesinde nasıl kullanırsınız?

Bir işlevin dönüş ifadesinde bir Python üçlü işleci kullanabilirsiniz. Tek yapmanız gereken bunu return ifadesine eklemek.

İşte bir örnek:

#program to check cheese age

def is_legal(age):
  return 'legal' if age > 18 else 'Not legal'

Python'da üçlü operatör, if-else ifadesinden daha mı hızlıdır?

Hayır, her ikisi de benzer performans özelliklerine sahiptir. Bir üçlü işleç ve bir if-else ifadesinin her ikisi de O(1) zaman karmaşıklığına sahiptir.

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.