Pythonda henüz dört dörtlük bir program yazamasak da en azından şimdilik onu basit bir hesap makinesi niyetine kullanabiliriz.
Örneğin:
... veya:
... ya da:
... hatta:
Gördüğünüz gibi, aritmetik işlemler için şu işleçleri (operator) kullanıyoruz:
Bunların dışında, işimize yarayacak birkaç işleç daha öğrenelim:
Burada gördüğümüz ** işleci kuvvet hesaplama işlemleri için kullanılır. Mesela yukarıdaki iki örnekte sırasıyla 2 sayısının 2. ve 3. kuvvetlerini hesapladık.
Tahmin edebileceğiniz gibi, ** işlecini kullanarak bir sayının karesini ve karekökünü de rahatlıkla hesaplayabilirsiniz:
Bir sayının 2. kuvveti o sayının karesidir. Aynı şekilde bir sayının 0.5. kuvveti de o sayının kareköküdür:
Yukarıda gördüğümüz % işleci ise bölme işleminden kalan sayıyı gösterir. Örneğin 6 sayısını 3e böldüğümüzde, bu sayı 3e tam bölündüğü için kalan 0dır. Bir sonraki örnekte gördüğümüz 9 sayısı ise 2ye bölündüğünde kalan 1 olduğu için 9 % 2 işleminin değeri 1 olacaktır. Bu işleci kullanarak tek ve çift sayıları tespit edebilirsiniz. Eğer bir sayı 2ye bölündüğünde kalan 0 ise o sayı tektir, aksi halde o sayı çifttir:
10 sayısı 2ye bölündüğünde kalan 0. Dolayısıyla 10, bir çift sayıdır:
5 sayısı ise 2ye bölündüğünde kalan 0 değildir. Dolayısıyla 5, bir tek sayıdır.
Gördüğünüz gibi sayıları yazarken tırnak işaretlerini kullanmıyoruz. Eğer tırnak işareti kullanırsak Python yazdıklarımızı sayı olarak değil karakter dizisi olarak algılayacaktır. Bu durumu birkaç örnekle görelim:
Bu komut, 25 ve 50yi toplayıp sonucu çıktı olarak verir. Şimdi aşağıdaki örneğe bakalım:
Bu komut 25 ile 50yi toplamak yerine, ekrana 25 + 50 şeklinde bir çıktı verecektir. Peki, şöyle bir komut verirsek ne olur?
Böyle bir komutla karşılaşan Python derhal 25 ve 50 karakter dizilerini (bu sayılar tırnak içinde olduğu için Python bunları sayı olarak algılamaz) yan yana getirip birleştirecektir. Yani şöyle bir şey yapacaktır:
Uzun lafın kısası, 25 ifadesi ile Ben Python, Monty Python! ifadesi arasında Python açısından hiç bir fark yoktur. Bunların ikisi de karakter dizisi sınıfına girer. Ancak tırnak işareti olmayan 25 ile Ben Python, Monty Python! ifadeleri Python dilinde ayrı anlamlar taşır. Çünkü bunlardan biri tamsayı (integer) öteki ise karakter dizisidir (string).
Şimdi matematik işlemlerine geri dönelim. Öncelikle şu komutun çıktısını inceleyelim:
Ama biz biliyoruz ki 5i 2ye bölerseniz 2 değil 2,5 çıkar Aynı komutu bir de şöyle deneyelim:
Gördüğünüz gibi bölme işlemini oluşturan bileşenlerden birinin yanına .0 koyulursa sorun çözülüyor. Böylelikle Python bizim sonucu tamsayı yerine kayan noktalı (floating point) sayı cinsinden görmek istediğimizi anlıyor. Bu .0 ifadesini istediğimiz sayının önüne koyabiliriz. Birkaç örnek görelim:
Pythonda aritmetik işlemler yapılırken alıştığımız matematik kuralları geçerlidir. Yani mesela aynı anda bölme çıkarma, toplama, çarpma işlemleri yapılacaksa işlem öncelik sırası, önce bölme ve çarpma sonra toplama ve çıkarma şeklinde olacaktır. Örneğin:
işleminin sonucu 8 olacaktır. Tabii biz istersek parantezler yardımıyla Pythonun kendiliğinden kullandığı öncelik sırasını değiştirebiliriz. Bu arada yapacağımız aritmetik işlemlerde sayıları kayan noktalı sayı cinsinden yazmamız işlem sonucunun kesinliği açısından büyük önem taşır. Eğer her defasında .0 koymaktan sıkılıyorsanız, şu komutla Pythona, Bana her zaman kesin sonuçlar göster, mesajı gönderebilirsiniz:
Not: Burada __ işaretini iki kez art arda klavyedeki alt çizgi tuşuna basarak yapabilirsiniz.
Artık bir sonraki Python oturumuna kadar bütün işlemlerinizin sonucu kayan noktalı sayı cinsinden gösterilecektir.
Buraya kadar Pythonda üç tane veri tipi (data type) olduğunu gördük. Bunlar:
Örneğin:
Kod:
[COLOR=White][B]>>> 2 + 5 7[/B][/COLOR]
... veya:
Kod:
[COLOR=White][B]>>> 5 - 2 3[/B][/COLOR]
... ya da:
Kod:
[COLOR=White][B]>>> 2 * 5 10[/B][/COLOR]
... hatta:
Kod:
[COLOR=White][B]>>> 6 / 2 3[/B][/COLOR]
Gördüğünüz gibi, aritmetik işlemler için şu işleçleri (operator) kullanıyoruz:
Kod:
[COLOR=White][B]toplama için + işareti çıkarma için - işareti çarpma için * işareti bölme için / işareti[/B][/COLOR]
Bunların dışında, işimize yarayacak birkaç işleç daha öğrenelim:
Kod:
[COLOR=White][B]>>> 2 ** 2 4 >>> 2 ** 3 8 >>> 6 % 3 0 >>> 9 % 2 1[/B][/COLOR]
Burada gördüğümüz ** işleci kuvvet hesaplama işlemleri için kullanılır. Mesela yukarıdaki iki örnekte sırasıyla 2 sayısının 2. ve 3. kuvvetlerini hesapladık.
Tahmin edebileceğiniz gibi, ** işlecini kullanarak bir sayının karesini ve karekökünü de rahatlıkla hesaplayabilirsiniz:
Kod:
[COLOR=White][B]>>> 12 ** 2 144[/B][/COLOR]
Bir sayının 2. kuvveti o sayının karesidir. Aynı şekilde bir sayının 0.5. kuvveti de o sayının kareköküdür:
Kod:
[COLOR=White][B]>>> 144 ** 0.5 12.0[/B][/COLOR]
Yukarıda gördüğümüz % işleci ise bölme işleminden kalan sayıyı gösterir. Örneğin 6 sayısını 3e böldüğümüzde, bu sayı 3e tam bölündüğü için kalan 0dır. Bir sonraki örnekte gördüğümüz 9 sayısı ise 2ye bölündüğünde kalan 1 olduğu için 9 % 2 işleminin değeri 1 olacaktır. Bu işleci kullanarak tek ve çift sayıları tespit edebilirsiniz. Eğer bir sayı 2ye bölündüğünde kalan 0 ise o sayı tektir, aksi halde o sayı çifttir:
Kod:
[COLOR=White][B]>>> 10 % 2 0[/B][/COLOR]
10 sayısı 2ye bölündüğünde kalan 0. Dolayısıyla 10, bir çift sayıdır:
Kod:
[COLOR=White][B]>>> 5 % 2 1[/B][/COLOR]
5 sayısı ise 2ye bölündüğünde kalan 0 değildir. Dolayısıyla 5, bir tek sayıdır.
Gördüğünüz gibi sayıları yazarken tırnak işaretlerini kullanmıyoruz. Eğer tırnak işareti kullanırsak Python yazdıklarımızı sayı olarak değil karakter dizisi olarak algılayacaktır. Bu durumu birkaç örnekle görelim:
Kod:
[COLOR=White][B]>>> 25 + 50 75[/B][/COLOR]
Bu komut, 25 ve 50yi toplayıp sonucu çıktı olarak verir. Şimdi aşağıdaki örneğe bakalım:
Kod:
[COLOR=White][B]>>> "25 + 50" 25 + 50[/B][/COLOR]
Bu komut 25 ile 50yi toplamak yerine, ekrana 25 + 50 şeklinde bir çıktı verecektir. Peki, şöyle bir komut verirsek ne olur?
Kod:
[COLOR=White][B]>>> "25" + "50"[/B][/COLOR]
Böyle bir komutla karşılaşan Python derhal 25 ve 50 karakter dizilerini (bu sayılar tırnak içinde olduğu için Python bunları sayı olarak algılamaz) yan yana getirip birleştirecektir. Yani şöyle bir şey yapacaktır:
Kod:
[COLOR=White][B]>>> "25" + "50" 2550[/B][/COLOR]
Uzun lafın kısası, 25 ifadesi ile Ben Python, Monty Python! ifadesi arasında Python açısından hiç bir fark yoktur. Bunların ikisi de karakter dizisi sınıfına girer. Ancak tırnak işareti olmayan 25 ile Ben Python, Monty Python! ifadeleri Python dilinde ayrı anlamlar taşır. Çünkü bunlardan biri tamsayı (integer) öteki ise karakter dizisidir (string).
Şimdi matematik işlemlerine geri dönelim. Öncelikle şu komutun çıktısını inceleyelim:
Kod:
[COLOR=White][B]>>> 5 / 2 2[/B][/COLOR]
Ama biz biliyoruz ki 5i 2ye bölerseniz 2 değil 2,5 çıkar Aynı komutu bir de şöyle deneyelim:
Kod:
[COLOR=White][B]>>> 5.0 / 2 2.5[/B][/COLOR]
Gördüğünüz gibi bölme işlemini oluşturan bileşenlerden birinin yanına .0 koyulursa sorun çözülüyor. Böylelikle Python bizim sonucu tamsayı yerine kayan noktalı (floating point) sayı cinsinden görmek istediğimizi anlıyor. Bu .0 ifadesini istediğimiz sayının önüne koyabiliriz. Birkaç örnek görelim:
Kod:
[COLOR=White][B]>>> 5 / 2.0 2.5 >>> 5.0 / 2.0 2.5[/B][/COLOR]
Pythonda aritmetik işlemler yapılırken alıştığımız matematik kuralları geçerlidir. Yani mesela aynı anda bölme çıkarma, toplama, çarpma işlemleri yapılacaksa işlem öncelik sırası, önce bölme ve çarpma sonra toplama ve çıkarma şeklinde olacaktır. Örneğin:
Kod:
[COLOR=White][B]>>> 2 + 6 / 3 * 5 - 4[/B][/COLOR]
işleminin sonucu 8 olacaktır. Tabii biz istersek parantezler yardımıyla Pythonun kendiliğinden kullandığı öncelik sırasını değiştirebiliriz. Bu arada yapacağımız aritmetik işlemlerde sayıları kayan noktalı sayı cinsinden yazmamız işlem sonucunun kesinliği açısından büyük önem taşır. Eğer her defasında .0 koymaktan sıkılıyorsanız, şu komutla Pythona, Bana her zaman kesin sonuçlar göster, mesajı gönderebilirsiniz:
Kod:
[COLOR=White][B]>>> from __future __ import division[/B][/COLOR]
Not: Burada __ işaretini iki kez art arda klavyedeki alt çizgi tuşuna basarak yapabilirsiniz.
Artık bir sonraki Python oturumuna kadar bütün işlemlerinizin sonucu kayan noktalı sayı cinsinden gösterilecektir.
Buraya kadar Pythonda üç tane veri tipi (data type) olduğunu gördük. Bunlar:
- Karakter dizileri (strings)
- Tamsayılar (integers)
- Kayan noktalı sayılar (floating point numbers)
