Python

Python’da Koşul İfadeleri (“if” – “elif” – “else” Yapıları)

Bu dersmizde, Python’da sıklıkla kullandığımız önemli bir konsept olan koşul ifadelerini ele alacağız. Her programlama dilinde olduğu gibi, Python’da da belirli koşullar altında belirli işlemlerin gerçekleştirilmesi gerektiğinde koşul ifadeleri devreye girer.

Python’da Koşul İfadeleri

Hayatımızın her alanında olduğu gibi, programlama dünyasında da karar vermek son derece önemlidir. Günlük yaşamımızda karşılaştığımız problemleri çözerken, belirli koşullar altında kararlar alırız. Aynı şekilde, bir program yazarken de belirli koşullar altında kararlar almak zorundayız. Python’daki koşul ifadeleri, bu kararları almayı ve bir programın farklı yollarla dallanmasını sağlar.

Bir program, belirli bir görevi yerine getirmek için bir bilgisayara verilen talimatlardan oluşur. Her görev, belirli kararlar almayı gerektirir ve bu nedenle koşul ifadeleri, programlama dünyasının ayrılmaz bir parçasını oluşturur.

Python‘da koşul ifadeleri oluştururken matematiksel koşullar için genel olarak aşağıdaki tablodaki işaretlerden yararlanılır. Bakınız:

İşaretAçıklamaÖrnek
==eşittira == b (a eşittir b)
!=eşit değildira != b (a eşit değildir b)
<küçüktüra < b (a küçüktür b)
<=küçük ya da eşittira <= b (a küçük ya da eşittir b)
>büyüktüra > b (a büyüktür b)
>=büyük ya da eşittira >= b (a büyük ya da eşittir b)
Python’da Koşul İfadeleri

Bu işaretler yardımıyla oluşturulan koşullar, True (Doğru) ya da False (Yanlış) değerler üretir. Bu değerler, belirli koşullar altında belirli kod bloklarının çalıştırılmasını sağlar.

Python’da koşul ifadelerini oluşturabilmek için “if“, “elif” (else if kısaltması) ve “else” anahtar kelimelerinden yararlanırız. Pek çok programla dilinde olduğu gibi Python’da da “if” anahtar kelimesi, belirli bir koşulun doğru olup olmadığını kontrol etmek için kullanılır. Eğer koşul doğruysa, “if” bloğu içindeki kod çalıştırılır. Eğer koşul yanlışsa, “elif” ve “else” blokları kontrol edilmeye başlanır.

Sıra kendisine gelen “elif” bloğu, önceki “if” koşulu yanlışsa kontrol edilir. Eğer “elif” koşulu doğruysa, “elif” bloğu içindeki kod çalıştırılır. Eğer “elif” koşulu da yanlışsa, sırasını “else” bloğuna savar. Yani “else” bloğu, önceki tüm koşullar yanlışsa çalıştırılan kod bloğudur.

Ayrıca belirtmek isterim ki, yazım sıralaması çok önemlidir. Python’da koşul ifadeleri belirli bir sıra takip eder:

  1. if: Her zaman en başta gelir. Bir if bloğu, belirli bir koşulun doğru olup olmadığını kontrol eder.
  2. elif (else if’in kısaltması): if koşulu yanlışsa, bir sonraki elif koşulu kontrol edilir. Bir if bloğundan sonra birden fazla elif bloğu olabilir.
  3. else: Eğer if ve tüm elif koşulları yanlışsa, else bloğu çalıştırılır. else bloğu her zaman en sonda gelir ve bir if bloğundan sonra en fazla bir else bloğu olabilir.

❗ Bir “if” bloğundan sonra, istenildiği kadar “elif” bloğu olabilir ve en sonunda sadece bir “else” bloğu olabilir. Ayrıca “else” bloğu opsiyoneldir yani olmayabilir de, ama eğer varsa, her zaman en sonda olmalıdır. Özetle:

  • Bir koşul olacaksa ilk olarak if bloğu ile yazılır. Sadece bir tane olur ve o da her zaman en başta yazılır.
  • elif blokları if bloğundan sonra gelir ve koşul sayısı kadar yazılabilir.
  • else bloğu, eğer varsa, her zaman en sonda ve sadece bir tane olmalıdır.

❗ Belirtmek isterim ki, “elif” ve “else” blokları, tek başlarına bir koşulu başlatamazlar. Çalışmaları için, öncelikli olarak koşulu karşılamamış bir “if” bloğu olmalıdır.

if

Python’daki “if” anahtar kelimesi, belirli bir koşulun doğru olup olmadığını kontrol etmek için kullanılır. Eğer koşul doğruysa (yani True), if bloğu içindeki kod çalıştırılır. Zaten İngilizcede de “eğer” anlamına gelen “if” ile adından da anlaşılacağı üzere bir koşula bağlı durum vurgulanır. Örneğin:

Bu örnekte, x değişkeninin değeri 10’dur. x > 5 koşulu doğru olduğu için, if bloğu içindeki kod çalıştırılır ve ‘x, 5’ten büyük’ mesajı yazdırılır.

Python’da “if” Koşulunu Tek Satırda Yazımı

Bazı durumlarda “if” koşulunu tek satırda yazmak, kodumuzu daha sade ve okunaklı yapar. Hatta bazen bu gerekli bile olabilir. Ama dikkat! Her zaman değil, sadece basit koşullar için bu yöntemi kullanmak daha iyidir. Çünkü çok fazla koşul varsa, kod karışık hale gelebilir.

Peki nasıl yazacağız bu tek satırlık “if” koşulunu?

Örneğin, elimizde bir x değişkeni var ve bu değişkenin değerinin 10 olup olmadığını kontrol etmek istiyoruz. Eğer x, 10’a eşitse, ekrana “x 10’a eşittir” yazdırmak istiyoruz. Bunu normalde şöyle yazarız:

Ancak boşluk bırakmadan direkt yanına yazabiliriz. Bakınız:

İki kod da aynı işlevi görür. Ancak “if” koşulunun altında birden fazla işlem yapılacaksa, bu işlemleri tek satırda yazmamalıyız. Çünkü bu durumda kod karışıklığı ortaya çıkar ve haliyle kodun okunabilirliği azalır.

elif

Eğer “if” ile belirtilen ilk koşul gerçekleşmezse, peşi sıra gerçekleşecek bir veya bir dizi koşuldan birinin test edilmesini “elif” koşulu ile sağlarız. Aşağıdaki örneği inceleyiniz:

Bu örnekte, x > 15 koşulu yanlış olduğu için, “elif” bloğu içindeki x > 5 koşulu kontrol edilir. Bu koşul doğru olduğu için, ‘x, 5’ten büyük ama 15’ten küçük’ mesajı yazdırılır.

Birden fazla değerlendirmemiz gereken koşullar da olabilir. İşte böylesi durumlarda “elif” çok kullanışlıdır. Aşağıdaki örneği inceleyiniz:

  • Yukarıdaki örneği özetlersek:
    • Eğer x 10’dan küçükse, ilk if bloğu çalıştırılır.
    • Eğer x 10’dan büyük ya da eşit ama 20’den küçükse, ikinci elif bloğu çalıştırılır.
    • Eğer x 20’den büyük ya da eşit ama 30’dan küçükse, üçüncü elif bloğu çalıştırılır.

Bu arada belirtmek isterim ki, eğer birden fazla doğru koşulu sağlayan “elif” komutu girilmişse koşulu ilk sağlayanın dediği olur ve komut kapanır. Bakınız:

else

Hayatın içerisinde bazen karşımıza birden fazla seçenek çıkar ve bizler de bu seçeneklerden birini tercih etmek zorunda kalırız, değil mi? Mesela, dışarı çıkmayı planlıyorsunuz ve hava yağmurlu. Bu durumda ya şemsiye alırsınız, ya da yağmurluğunuzu giyersiniz. Eğer yağmur yağmıyorsa, bu eşyaları almanıza gerek kalmaz. İşte bu tür durumlar için programlama dillerinde else ifadesi bulunur.

Python’da else, if veya elif koşullarının hiçbiri sağlanmadığında çalıştırılacak kod bloğunu belirtir. Yani, if ve elif bloklarındaki koşullar yanlışsa, son çare olarak artık hiçbir koşula bakılmayacağını anlar ve else bloğundaki kodu çalıştırır.

Bu örnekte, yas değişkeninin değeri 18 veya daha büyükse, “Reşit” yazdırılır. Eğer yas değişkeninin değeri 18’den küçükse, if bloğundaki koşul yanlış olur ve else bloğundaki “Reşit değil” yazdırılır. Örneğimizde yas 20 olduğu için, if bloğundaki koşul doğru olur ve “Reşit” yazdırılır.

Özetle, else ifadesi, belirtilen koşulların hiçbiri sağlanmadığında çalıştırılacak kod bloğunu belirtir ve bu, programın farklı durumlar için farklı kodlar çalıştırmasını sağlar.

Python’da koşullu ifadeler oluştururken kullanılan mantıksal operatörler bulunmaktadır. Sırayla bunları inceleyelim.

Python’da “if – else” Koşulunun Tek Satırda Yazımı

Python’da “if-else” koşulunun tek satırda yazabiliriz. Bunun için kullanılan syntax aşağıdaki gibidir:

[if_true] if [koşul] else [if_false][Koşul doğruysa bunu çalıştır] if [koşul] else [Koşul yanlışsa bunu çalıştır]

Bu kod, aslında şu kodun kısaltılmış halidir:

Her iki kod parçası da aynı sonucu verir: eğer x 10’a eşitse, ekrana “x 10’a eşittir” yazdırılır. Eğer x 10’a eşit değilse, ekrana “x 10’a eşit değildir” yazdırılır. Kısa hali, kodu daha kompakt ve okunabilir yapar.

Tek satırlık “if-else” koşullarında genellikle “:” veya “;” işareti kullanılmaz. Bunun yerine, doğrudan yukarıda belirttiğim syntaxı kullanabilirsiniz. Ancak, birden fazla işlem yapılacaksa (yani birden fazla satır kod yazılacaksa), bu işlemleri tek satırda yazmak için “:” ve “;” işaretlerini kullanmanız gerekecektir. Örneğin:

Bu örnekte, x 10’a eşit olduğu için “x 10’a eşittir” yazdırılacaktır ve ardından “Kontrol tamamlandı” yazdırılacaktır. ; işareti, else bloğunun sona erdiğini ve yeni bir işlemin başladığını belirtir. Bu nedenle, ; işareti print("x 10'a eşit değildir") ifadesinin sonunda yer alır ve ardından print("Kontrol tamamlandı") işlemi başlar. Bu, her iki print işleminin de tek satırda yapılmasına izin verir.

“İç içe if” Kullanımı (Nested if)

İç içe if ifadeleri, bir if ifadesinin içinde başka bir if ifadesi bulunması durumudur. Bu, bir dizi koşulu kontrol etmeniz gerektiğinde kullanışlıdır. Yani, bir koşulun sonucuna bağlı olarak, başka bir koşulu kontrol etmek isteyebilirsiniz.

Bir koşul gerçekleştiği zaman kontrol edilebilecek alt koşullar test edilebilir. Bu koşulları yazarken indentation yani girintilere dikkat etmek gerekir. Böylece koşulun hangi bloğa ait olduğu kolayca anlaşılabilir.

Örneğin, bir kişinin yaşını kontrol etmek isteyebilirsiniz ve eğer bu kişi 18 yaşından büyükse, başka bir koşulu kontrol etmek isteyebilirsiniz, örneğin bu kişinin ehliyeti olup olmadığını. Bakınız:

Bu örnekte, yas değişkeni 18 veya daha büyükse, ehliyet değişkeni kontrol edilir. Eğer ehliyet True ise, bu kişinin araba kullanabileceği sonucuna ulaşılır. Eğer ehliyet False ise, bu kişinin ehliyeti olmadığı için araba kullanamayacağı sonucuna ulaşılır.

Eğer yas değişkeni 18’den küçükse, ehliyet değişkeni kontrol edilmez ve bu kişinin yaşından dolayı araba kullanamayacağı sonucuna ulaşılır.

Python’da “and” Operatörü

❶ Python’da “and” operatörü ile birden fazla koşulun gerçekleşme durumu kontrol edilir. Eğer belirtilen tüm koşullar doğruysa True döndürür, aksi takdirde False döndürür. Örneğin:

Bu örnekte, x değişkeninin değeri 10’a eşit ve y değişkeninin değeri 20’ye eşit olduğu için, yani her iki koşul da doğru olduğu için and operatörü True döndürür ve “Her iki koşul da doğru” yazdırılır.

❷ Eğer koşulardan biri bile yanlışsa tüm koşullar yanlış kabul edilir. Bakınız:

Yukarıdaki örnekte, x değişkeninin değeri 10’a eşit ama y değişkeninin değeri 20’ye eşit değil. Bu yüzden, and operatörü False döndürür ve “Her iki koşul da doğru değil” yazdırılır.

❸ Eğer tüm koşullar yanlışsa zaten False döndürür. Örneği inceleyiniz:

Bu örnekte, x değişkeninin değeri 10’a eşit değil ve y değişkeninin değeri 20’ye eşit değil. Yani her ikisi de yanlış. Bu yüzden, and operatörü False döndürür ve “Her iki koşul da doğru değil” yazdırılır.

Python’da “or” Operatörü

❶ Python’da or operatörü, en az bir koşul bile doğruysa True döndürür, aksi takdirde False döndürür. Örneğin:

Yukarıdaki örnekte, x değişkeninin değeri 10’a eşit ve y değişkeninin değeri 20’ye eşittir. Yani her ikisi de doğrudur. Haliyle or operatörü True döndürür ve “En az bir koşul doğru” yazdırılır.

❷ Bir koşulun doğru, diğer koşulun yanlış olduğu durum:

Bu örnekte, x değişkeninin değeri 10’a eşit olduğu için, or operatörü True döndürür ve “En az bir koşul doğru” yazdırılır. Yani, x == 10 koşulu doğru olduğu için, y == 20 koşulunun doğru olup olmadığı önemli değildir.

❸ İki koşulun da yanlış olduğu durum:

Yukarıdaki örnekte ise, x değişkeninin değeri 10’a eşit değil ve y değişkeninin değeri de 20’ye eşit değil. Haliyle, or operatörü False döndürür ve “Hiçbir koşul doğru değil” yazdırılır.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu

😔 Reklam Engelleyicisi 😔

Sitenin varlığını sürdürebilmesi adına reklam engelleyicinizi (Adblocker) kapatmanızı rica ediyoruz 😔