Conditions, if, elif, else

Kategori: Python , 02 Eylül 2019 , JanFranco


Python'da koşul durumlarını göreceğiz. Diğer dillerdeki gibi if, else yapısını kullanacağız. Diğer dillerdeki else if anahtar kelimesi Python'da elif şeklindedir. Ayrıca Python yazımı insan diline daha yakın olduğundan '==' koşul ifadesi yerine is anahtar kelimesini yazabiliriz. Basit bir örnek görelim:


process = int(input("Enter process:"))

if process is 1:
    print("1st process is working.")
elif process is 2:
    print("2nd process is working.")
elif process is 3:
    print("3rd process is working.")
else:
    print("Error")
process değişkenine aldığımız girdiyi atadık. Eğer process değişkeninin değeri 1 ise "1st process is working." ifadesini konsola yaz, 1 değilse ve 2 ise "2nd process is working." ifadesini konsola yaz, 1 değil, 2 değil, 3 ise "3rd process is working." ifadesini konsola yaz; 1, 2 ve 3 değilse konsola "Error" ifadesini yaz demiş olduk. is anahtar kelimesini kullanmadan klasik şekilde yazmak istersek:


process = int(input("Enter process:"))

if process == 1:
    print("1st process is working.")
elif process == 2:
    print("2nd process is working.")
elif process == 3:
    print("3rd process is working.")
else:
    print("Error")
Diğer dillerden alışık olduğumuz && ve || ifadeleri ile çoklu koşul tanımlayabiliriz. Yukarıda bahsettiğim gibi Python syntax'ı insan diline yakındır. Bu semboller yerine and ve or anahtar kelimelerini kullanabiliriz:


a = 200
b = 33
c = 500
if a > b and c > a:
  print("Both conditions are True")

a = 200
b = 33
c = 500
if a > b or a > c:
  print("At least one of the conditions is True")
Yukarıda is operatöründen bahsettim. is ve '==' operatörlerinin bir farkı mevcut. Bundan bahsedeceğim fakat önce not operatöründen bahsedeyim. Diğer dillerde olumsuz bir durum belirtmek için ! ünlüm işaretini kullanıyorduk. Python'da da bu operatörü kullanabiliriz. Bunun yerine not operatörünü de kullanabiliriz:


print(not False)
print((not False) == (False))
Çıktı sırasıyla: True, False.

Son olarak is operatörü ile == operatörünün farkını görebilmek için bir örnek yapalım:


liste1 = ['a', 'b', 'c']
liste2 = liste1
liste3 = list(liste1)
print(liste1)
print(liste2)
print(liste3)
>>
['a', 'b', 'c']
['a', 'b', 'c']
['a', 'b', 'c']

print(liste1 == liste2)
print(liste1 == liste3)
>>
True
True

print(liste1 is liste2)
print(liste1 is liste3)
>>
True
False
Burada üç liste tanımladık. Bu listeleri konsola yazdırdığımızda elemanları aynı gözüküyor fakat bu listeleri farklı yollar ile tanımladık. liste1 listesinin elemanlarını elle girerek tanımladık. liste2 listesini direk olarak liste1 listesine eşitledik. liste3 listesini ise liste1 elemanlarını kullanarak, list() fonksiyonu ile oluşturduk. Eğer == operatörü ile bu listeleri karşılaştırırsak, konsolda True ifadelerini görürüz. Bunun sebebi == operatörü, listedeki elemanları karşılaştırıyor. Ancak bu listeleri is operatörü ile karşılaştırırsak, konsolda False değerini görebiliriz. Çünkü is operatörü objeleri karşılaştırıyor. liste2 listesine, liste1 listesini direk eşitlediğimiz için is operatörü kullandığımızda konsolda True ifadesini görürüz. Çünkü bu listeler aslında aynı objelerdir. Ancak liste1 ile liste3 listelerini karşılaştırdığımızda, elemanları aynı olsa da farklı objeler olduğundan konsolda False ifadesini görürüz.


Sonraki Yazı: for loop and in keyword
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın