Python - Operatörler
Programlama dillerinde operatörler, verilen değerlere göre bir sonuç üretir ve bunu geri döndürürler. Bu değer bir veridir ve matematiksel ya da mantıksal olabilirler. Bir operatör gönderilen bir veya bir kaç değeri işleyip sonuç verebilir.
Matematiksel Operatörler
Python'daki matematiksel operatörler şunlardır; toplama +
, çıkarma -
, çarpma *
, bölme /
, tam sayı bölme //
, mod (tam sayı bölümden kalan) alma %
ve üs (kuvvet) alma **
.
Şimdi basit bir örnek ile formül kullanarak dairenin çapını hesaplayalım. Kabuğu açıp komutları girin;
pi = 3.14 r = 5 R = 2 * pi * r print(R)
Bildiğiniz gibi matematikte R
çap ve r
yarıçap demektir. Bir de pi
sabitimiz var. Ancak burada kullandığımız semboller Python için bir anlam ifade etmiyor, sonuç olarak onların hepsi birer değişken. Aynı örneği şöyle de yapabilirdik;
piSayisi = 3.14 yariCap = 5 cevre = 2 * piSayisi * yariCap print(cevre)
Dilerseniz print
komutu ile istediğiniz bir metni de yazdırabilirsiniz. En azından daha anlamlı bir görünümü olur. Şöyle ki;
piSayisi = 3.14 yariCap = 5 cevre = 2 * piSayisi * yariCap print("Dairenin çevresi: ", cevre)
Matematiksel operatörlerin işlem önceliği normal matematiktekiyle aynıdır; önce parantez içindeki işlemler yapılır, ardından bölmeler ve çarpmalar ve en son toplama/çıkarmalar.
Bir diğer örnek ile kaç yaşında olduğumuzu hesaplayalım;
dogumYili = 1993 gunumuz = 2015 yas = gunumuz - dogumYili print("Yaşınız: ", yas)
İşlevsel Operatörler
Python'da toplama ve çarpma operatörlerini metinler üzerinde de kullanabilirsiniz. Örneğin;
yiyecek = "makarna" icecek = "Lé Cola" cumle = "En sevdiğim menü " + yiyecek + " ve " + icecek print(cumle)
Şimdi bir de şu işlemi yapmayı deneyelim;
sayi1 = "19" sayi2 = "05" print(sayi1 + sayi2)
Sizce çıktı olarak ne verir? Dikkat ettiyseniz değişken isimlerimiz "sayı" olmasına rağmen içlerindeki değerler tırnak içinde. Python tırnak içindeki değerleri ne olurlarsa olsunlar metin olarak algılar. Yani yukarıdaki +
işlemi matematiksel toplama işlemi yerine birleştirme işlemi olacak. Sonuç olarak biz 24 beklerken 1905 çıktısını aldık.
Çarpma *
operatörüde metinleri istediğimiz sayı kadar çoğaltır. Örneğin;
neKadar = "çok" cumle = "Python " + neKadar * 3 + " güzel." print(cumle)
Yukarıdaki kodları çalıştırdığınızda "Python çokçokçok güzel." çıktısını aldığınızı göreceksiniz. Çok kelimesini çarpma operatörü ile üç kere yan yana yazdırmış olduk.
İlişkisel Operatörler
Verilen iki değer arasındaki karşılaştırmayı ilişkisel operatörler ile yaparız. Kullanabileceğimiz operatörler şunlar; eşit mi==
, eşit değil mi!=
, büyük mü>
, küçük mü<
, büyük ya da eşit mi>=
, küçük ya da eşit mi<=
, değil mi!
. Bu operatörler bize DoğruTrue
ya da YanlışFalse
sonucunu döndürür.
Şimdi öğrencinin notuna göre dersten geçip geçmediğine bakalım;
dersNotu = 65 print(dersNotu > 60)
True sonucunu döndürdü. Çünkü biz öğrencinin notu 60'dan büyük mü diye kontrol ettik ve öğrenci notu 65'ti.
Örneğin, birinin reşit olup olmadığına bakalım;
yas = 17 print(yas >= 18)
Ya da kullanıcının adını kontrol edelim;
isim = "Umut" print(isim == "Malcolm X")
Kullanıcının cinsiyeti kadın değil mi?
cinsiyet = "erkek" print(cinsiyet != "kadın")
Şimdi de sonucu bir değişkene aktarıp deneyelim. İlişkisel işlemlerin sonucu mantıksaldır ve mantıksal değerleri boolean
tipi değişkenler saklarlar.
programlamaDili = "python" pythonMu = (programlamaDili == "python") print(pythonMu)
Mantıksal Operatörler
Bu operatörler verilen değerlerin sadece True ya da False olma durumlarıyla ilgilenirler. Kullanabileceğimiz operatörler şunlardır; veand
, veyaor
.
Örneğin, kullanıcının işletim sistemi ve kullandığı tarayıcıyı kontrol edelim.
platform = "Windows 8" tarayici = "Mozilla Firefox" platformGecerliMi = (platform == "Ubuntu") tarayiciGecerliMi = (tarayici == "Mozilla Firefox") print(platformGecerliMi and tarayiciGecerliMi)
Yukarıdaki örnekte "ve" operatörünü kullandık. Bu operatör eğer her iki değer de True ise True, eğer ikisinden biri True ise False, her ikisi de False ise False sonuç döndürür. Yani yaptığımız örnekte False sonucunu alacağız. Çünkü tarayıcı uygun olmasına rağmen işletim sistemi değil.
Aynı örneği ile "ya da" operatörü ile yaparsanız True sonuç döndüğünü görürsünüz. Ya da operatörü her iki değerden biri True ise True, değerlerden birisi True ise True, her ikisi de False ise False döndürür.
Biraz kafa karışıklığı olmuş olabilir diye aşağıda bir görsel hazırladım.
Pek başarılı bir görsel olduğu söylenemez ama en azından iş görür. Şimdilik bu operatörler gereksiz gelebilir. Ancak program içinde akışı yönlendirmeye yararlar ve çok önemli bir yere sahiptirler. Bir yazılımcı adayının program geliştirmeden önce operatörleri oldukça iyi anlamış olması gerekir.
Güncelleme: Görseldeki operatörleri yanlış yazmışım kusura bakmayın. &&
olan yerlere AND, ||
olan yerlere OR koyun. Kafa C#'a gitmiş heralde yazarken. Kolay gelsin...
Devam et: Python: Koşul Kontrolü