Python Sayısal Veri Tipleri - Mustafa Sabri OĞUZ

Duyurular

5 Haziran 2019 Çarşamba

Python Sayısal Veri Tipleri

Python'da aritmetik hesaplamalarda kullanabileceğimiz üç adet sayısal veri tipi mevcuttur. Bunlar; Tam sayılar (Integer), Ondalıklı Sayılar (Float) ve Karmaşık Sayılar (Complex)dır. Bu sayısal veri tiplerini, özelliklerini ve kullanımlarını hazırladığım örnekler eşliğinde öğrenelim.

Integer (Int - İşaretli Tam Sayılar)

Integer yani Türkçe adıyla "tam sayı", günlük yaşamımızda sıkça kullandığımız bir veri tipidir. Matematiksel işlemler bir yana, kişi ve cisimleri kolayca numaralandırmak için tam sayıları kullanırız. Programlamada ki yeri genellikle kimlik veya veri numaralandırma (Veritabanında - ID), sayaç işlemlerinde (Döngü işlemleri) ve adet hesaplamaları (Hesap makinesi) için hazırlanan algoritmalar da görülmektedir.

Özellikleri

Sayılar teorik matematikte sınırsız uzunluk ve değerde olsalar da, yazılımda kullandığımız cihazların sınırlı bir kapasitesi bulunmaktadır. Bu durumda işlemcinin mimarisine göre değişkenin maksimum alabileceği pozitif ve negatif tam sayı değerleri vardır. Bu limitlerin üzerinde sayı oluşturamaz ve kullanamazsınız.
Programlamada tanımlayabileceğimiz maksimum pozitif tam sayı değeri: 9223372036854775807, maksimum negatif tam sayı değeri: -9223372036854775808'dir.

Eğer kendiniz bu sınırları keşfetmek isterseniz, aşağıda ki komut serisini kullanabilirsiniz;
import sys
print("Maksimum Pozitif Tam Sayı Değeri:", sys.maxsize)
print("Maksimum Negatif Tam Sayı Değeri:", -sys.maxsize - 1)
Maksimum Pozitif Tam Sayı Değeri: 9223372036854775807
Maksimum Negatif Tam Sayı Değeri: -9223372036854775808

İnteraktif Kullanımı

Python üzerinden herhangi bir değişkene değer atamadan, tam sayıları doğrudan kullanabilir ve aritmetik operatörlerle basit hesaplama işlemlerini gerçekleştirebiliriz.
Python 3.5.4 (v3.5.4:3f56838, Aug  8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 10 + 15
25
>>> 60 - 30
30
>>> 80 / 4
20.0
>>> 15 * 5
75 
Yukarıda tam sayılar ile 4 işlem aritmetik operatörlerin kullanımını basitçe göstermeye çalıştım.
Not: Aritmetik hesaplama işlemlerinde kullandığımız operatörler, matematikte öğrendiğimiz Toplama, Çıkarma, Çarpma ve Bölme işaretleri gibi kullanılır. Konu hakkında detaylı bilgiyi Python Aritmetik Operatörler adlı yazımda bulabilirsiniz.

Script Kullanımı

Bir tam sayıyı hafızaya alıp, kullanmaya başlayabilmek için bir değişken tanımlayıpatama operatörü (=) ile sayısal veriyi (değeri) yazmamız gerekiyor.
tamsayi = 1453
Şimdi aşağıda ki gelişmiş örneği inceleyelim. Üç adet değişken oluşturup, ikisine 24 ve 16 tam sayı değerlerini tanımladık. Ardından "toplam" değişkenine değer atarken "10" tam sayısı ile tanımladığımız a ve b değişkenlerini topluyoruz.
a = 24
b = 16
toplam = 10 + a + b

print("Toplam:", toplam)
print("Veri Tipi:", type(toplam))
Yaptığımız toplama işleminin sonucu görmek için print() fonksiyonunu kullanıyoruz. Ardından değişkende tanımlı değerin türünü öğrenmek için type() fonksiyonunu kullandık. Kodumuzu çalıştırdığımız da aşağıda ki gibi bir çıktı ile karşılaşmamız gerekiyor.
Toplam: 50
Veri Tipi: <class 'int'>
Çıktıya baktığımız da ise "toplam" değişkeninin değeri "50" tam sayısı olduğunu, ardından "toplam" değişkeninin tuttuğu veri tipi, "int" (Integer) türünde bir sınıf olduğu bilgisini vermektedir.
Not: print() ve type() fonksiyonları terminal ekranlarında çıktı oluşturabilmek için amacıyla kullanılan Python'un gömülü fonksiyonlarıdır. Bu fonksiyonlar nedir, ne değildir ve detaylı kullanımlarını, Python Gömülü Fonksiyonlar adlı yazımda ele alacağım. Şimdilik bu fonksiyonların örnek için kullanıldığını bilmeniz yeterlidir.

Örnek Problem: 

Mustafa 16, Mehmet 15 ve Zehra 14 yaşlarında olmak üzere üç çocuk bir araya gelip, misket oynamak istemişler. Sahip oldukları kutuda toplam 120 adet misket bulunmaktadır. Oyunlarının kuralı gereği her çocuk yaşlarının iki katı kadar misket alarak oyunu oyna bildiklerine göre kutuda kaç adet misket kalmıştır?
toplamMisket = 120
mustafa = 16 * 2
mehmet = 15 * 2
zehra = 14 * 2

kalanMisket = toplamMisket - mustafa - mehmet - zehra

print("Kutuda kalan misket sayısı:", kalanMisket)
Kutuda kalan misket sayısı: 30
Görüldüğü üzere basit matematik problemlerini kolayca Python'a uyarlayarak kullanabiliyoruz.

Float (Ondalıklı Sayılar)

Ondalıklı Sayılar, ince hesaplar yapmaya yarayan sayısal veri tipleridir. Programlama da genellikle birim hesaplamalarında (Para, Litre, Kg, Metre, vs..) ve ayrıca Geometri ve Trigonometri  hesaplamalarında kullanıldığı görülür.
ondalikliSayi = 1.25
sayıların arasında nokta konulduğu taktirde tam sayımız otomatik olarak float tipine dönüşmektedir. Ondalıklı sayıları, tam sayıların küsuratlı versiyonu gibi düşünebilirsiniz.

Örnek Problem:

Bir manavda Muzun kilosu 1.75 Türk Lirası olduğunu varsayalım. A müşterisi 2.5 kg, B müşterisi 2 kg, C müşterisi ise 4.25 kg Muz aldığında, manavın üç müşterisinden elde ettiği kazanç nedir?
# Muzun Kilo Fiyatı
muzFiyati = 1.75

# Müştelerin Aldığı Muzların Kilo Hesabı
musteriA = 2.5
musteriB = 2
musteriC = 4.25

# Müşterilerin aldığı kilo fiyatı
kazancA = musteriA * muzFiyati
kazancB = musteriB * muzFiyati
kazancC = musteriC * muzFiyati

# Manavın Kazancını Hesaplama
toplamKazanc = kazancA + kazancB + kazancC
print("Manavın Kazancı:", toplamKazanc, "TL")
print("Veri tipi:", type(toplamKazanc))
Manavın Kazancı: 15.3125 TL
Veri tipi: <class float="">
Görüldüğü üzere manavın ne kadarlık bir kazancı olduğunu küsuratlı olarak hesaplamış olduk.
Ekstra Bilgi: Python'da her zaman iki tam sayının birbirine bölümü, ondalıklı bir sayı sonucu doğurur.
a = 10
b = 2

print("Sonuç: ", a / b)  
# Sonuc: 5.0

Complex (Karmaşık Sayılar)

Karmaşık sayılar, önce ki sayısal veri tiplerinden de büyük sayılardan oluşurlar. O kadar büyüktürler ki iki parçadan oluşurlar; reel (gerçek) ve imajiner (sanal) isimli iki kısımdan oluşur ve complex veri tipi olarak ifade edilir.
>>>> 3 + 4j
Not:  Normal de matematikte imajiner birimi "i" harfi ile gösterilir. i ise √−1 anlamındadır. Python'da ise i birimi yerine "j" harfi kullanılarak gösterilir. Yani (3 + 5i) karmaşık sayı ifadesini Python'da yazmak isterseniz: (3 + 5j) olarak yazmanız gerekiyor.
Programlamada nadiren kullanıldığı görülür, çünkü kullananlar daha çok bilimsel veya hassas hesaplamalar gerçekleştirmek için kullanırlar. Sayısal yeteneğimi daha önce bu seviyede kullanmadığım için sadece karmaşık sayıların kullanımını anlatmaya çalışacağım.
karmasik_sayi1 = 3 + 4j
karmasik_sayi2 = 4 + 1j

sonuc = karmasik_sayi1 + karmasik_sayi2

print("İşlemin Sonucu: ", sonuc)
print("Veri Tipi: ", type(sonuc))
print("Reel Sayısı: ", sonuc.real)
print("Sanal Sayısı: ", sonuc.imag)
İşlemin Sonucu:  (7+5j)
Veri Tipi: <class 'complex'>
Reel Sayı: 7.0
Sanal Sayı: 5.0
Karmaşık sayıları da normal sayılar gibi hesaplama işlemlerinde (Toplama, Çıkarma, Çarpma ve Bölme) kullanabilirsiniz. Ayrıca complex veri tipinin gerçek ve sanal sayılarını birbirinden ayırmak için iki adet fonksiyonu vardır. Bunlar; real ve imag fonksiyonlarıdır. Real, karmaşık sayının gerçek kısmını ele alır. İmag ise karmaşık sayının sanal kısmını ele alır.

Python'da kullanabileceğimiz sayısal veri tiplerini ve kullanımlarını elimden geldiğince anlatmaya çalıştım. Öneri ve eleştirilerinizi yorum bölümünden yazabilirsiniz. İyi günler...

Hiç yorum yok:

Yorum Gönder