Numeric Data Type

Python'da int (integer, tamsayı) ve float (ondalıklı) olmak üzere temelde iki türlü sayı tipi mevcuttur. Temelde diyorum çünkü complex sayılar da Python'da veri tipi olarak mevcuttur. Fakat iş hayatımızda ve projelerimizde kompleks sayıları kullanmayacağımız için int ve float nümerik veri tipleri yeterlidir.

numeric data types

Bir önceki bölümde oluşturduğumuz PythonDataTypes PyCharm projemizi açalım ve main.py sayfasına yukarıdaki gibi 3 farklı değişken tanımlayalım. (String Data Type konusunda PythonDataTypes projesini nasıl oluşturduğumuzu görebilirsiniz.)

a değişkeni 2 değerine sahip bir tamsayıdır (integer'dir') ve tipi <class 'int'> olarak tamsayı tipinde yazdırılır.

b değşkeni 4.48 değerine sahip ondalıklı bir sayıdır (float'dur). Tipi <class 'float'> olarak ondalıklı sayı tipinde yazdırılır.

c değişkeninin değeri "6"'dır. Tırnak işareti içerisinde kullanıldığı için Python bu sayıyı metin olarak algılar. Bu sebeple tipi <class 'str'> olacak şekilde string (metinsel) veri tipinde gösterilir. Sonuç olarak tırnak işareti içerisinde yazılı tüm değerler Python tarafından metinsel ifade olarak algılanır diyebiliriz. Sayısal değerlerin hiçbirinde tırnak işareti kullanmamalıyız.


Aritmetik Operatörler

numeric data types

+ (artı) operatörü ile toplama, - (eksi) operatörü ile çıkarma, * (yıldız, asteriks) operatörü ile çarpma ve / (slaş, slash) operatörü ile bölme işlemi yapabiliriz. Toplama, çıkarma ve çarpma işlemi yapan tüm operatörler tamsayı (integer) çıktısı verirken sadece bölme operatörü ondalıklı (float) çıktısı vermiştir.

numeric data types

Eğer sonucu illa tamsayı olarak görme gibi bir takıntımız varsa ilk çözüm olarak // (çift slaş) işareti ile bölme yapabiliriz. Bu şekilde ondalıklı ifadeler çıktı olarak gösterilmeyecektir. Ya da bölme işlemini int() fonksiyonu ile integer (tamsayı) değerine çevirebiliriz. İki değer de aynı sonucu verecektir.

numeric data types

Fakat bu yöntem aslında sağlıklı sonuç vermez. Örneğin 5/2 işleminin sonucunu 2.5 beklerken 2 yazdırılmıştır. İstatistiksel olarak 2.5, 3'e daha yakın bir sayıdır. Bu sebeple ondalıklı sayıların gösterilmemesi konusunda dikkatli olmalıyız.

numeric data types

Bir tamsayı ile tamsayının çarpımı tamsayı sonucunu verecektir. Fakat bir tamsayı (int) ile ondalıklı (float) sayının çarpımı daima ondalıklı (float) sonuç verecektir. Bu aslında beklenen bir sonuçtur. Fakat illa ki tamsayı cinsinden sonuç gösterilmek isteniyorsa çarpım int() fonksiyonu ile yazdırılabilir ve sonuç tamsayıya dönüştürülebilir.

numeric data types

Üstlü ifadelerde ** (çift yıldız) kullanılması yeterlidir. Örneğin; 2 üzeri 8'in sonucu 2**8 şeklinde hesaplanır. Bu şekilde sonuç 256 bulunur.

numeric data types

Bir bölme işleminin kalanını bulmak için % (yüzde) operatörü kullanılır. 10/3 işleminin bölümü 3, kalanı 1'dir.


Matematiksel Fonksiyonlar

Python'da matemetiksel işlemler ile uğraşırken kullanabileceğimiz birçok hazır matematik fonksiyonu bulunmaktadır.

round() Fonksiyonu

Dilimizdeki tam anlamı yuvarla'dır. Ondalıklı sayıları yuvarlamak için kullanılır.

numeric data types

2.1, 2.5 ve 2.7 sayılarını yuvarladığımızda sırasıyla 2, 2 ve 3 sonuçlarını elde ederiz. İstatistiksel olarak 2.5'in 3'e yuvarlanmasını bekleriz ama Python yuvarlamayı 2 olarak yapmaktadır.

numeric data types

Bölme işleminde de sonuç 2 olarak görüntülenecektir.


Diğer Matematik Fonksiyonları

numeric data types

Diğer birçok matematiksel işlemi yapabilmek için import math komutu ile math modülünü çağırabiliriz.

sqrt() fonksiyonu ile 9'un karekökünü 3 olarak bulabiliriz. pi komutu ile pi sayısını yazdırabiliriz.

math modülünün diğer tüm matematiksel fonksiyonlarına ulaşmak için W3 Schools'un sayfasını ziyaret edebilirsiniz.


Artırılmış Aritmetik İşlemler

numeric data types

Python'da belirli bir değişken üzerinde aritmetik işlemler yapmak istiyorsak +=, -=, *= ve /= operatörlerini kullanabiliriz. Yukarıdaki örnekte a değişkenine 10 değerini tanımladık. += ile 5 değerini ekledik. Çıktı olarak da 15 sayısını elde ettik.


Nümerik ve Metinsel Verilerin Toplanması

Bir string veri ile nümerik verinin toplanabilmesi için dönüştürme işlemi yapmalıyız.

numeric data types

Yukarıdaki örnekte a sayısal bir değişken olmasına rağmen b metinsel bir ifadedir. Bu yüzden bu iki değişkeni toplamaya çalıştığımızda veri tipi hatası aldık.

numeric data types

İki değişkeni toplamak istersek string veri tipinde olan değişkeni integer (tamsayı) veri tipine dönüştürmemiz yeterlidir. Bunun için int() fonksiyonunu kullanıyoruz.


Veri Tipi Dönüştürme İşlemleri

numeric data types

Python'da veri tiplerini dönüştürmek için int(), float() ve str() fonksiyonlarını kullanabiliriz. Yukarıdaki örnekte 2.4 değerine sahip a float değişkenini tamsayıya (int'e), 4 tamsayı değerine sahip b değişkenini ondalıklı sayıya (float'a), 7 tamsayı değerine sahip c değişkenini ise metinsel bir ifadeye (string'e) dönüştürüp yazdırdık.

numeric data types

Dilersek yukarıdaki komutlar ile dönüştürme işlemini kalıcı hâle getirebiliriz. Bu şekilde tüm değişkenlerimizin veri tipleri değişecektir.


Sıra Sizde

Uygulama 01: 4x7, 8/9 ve 144+25 işlemlerinin sonuçlarını Python'da yazdırınız.


Yanıtı Göster

Yukarıdaki komutları uyguladığımızda tüm işlemlerin sonuçlarına ulaşabiliriz. İşlemlerin sonuçları sırasıyla

28
0.8888888888888888
169
olacaktır.


Uygulama 02: 4 üzeri 8 işleminin sonucunu Python'da bulunuz.


Yanıtı Göster

Üslü işlemler için ** (çift yıldız) operatörünü kullanmamız yeterlidir. İşlemin sonucu

65536
olacaktır.


Uygulama 03:

Yukarıdaki a ve b değişkenini toplayınız.


Yanıtı Göster

İki değişkeni toplayabilmek için b string değişkenini integer değişkene dönüştürmeliyiz. Bunun için int(b) ifadesini kullanıyoruz ve toplama işlemini gerçekleştiriyoruz. Sonuç

30
olacaktır.


<<< Önceki Konu
Sonraki Konu >>>