# Python Sayılar

Python sayılar (numbers) konusunu işliyoruz.

Python veri tiplerine genel bir baktıktan sonra ilk veri tip kategorimiz olan Python Sayılar ile derslerimize devam ediyoruz. Python programlama dilinde sayısal tiplerde üç adet veri tipimiz mevcut olup bunlar şunlardır; Bu üç değişken sayı tipi için küçük bir örnek verelim hemen:

a = 5 # int
b = 46.53 # float
c = 3j # complex

Değişkenlerimizin hangi veri tipinde olduğunu öğrenmek için type() fonksiyonunu kullandığımızı hatırlıyorsunuz. Öyleyse hemen yukarıdaki örnekte yer alan değişkenlerin tipini teyit edelim.

print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'complex'>

1. Int Veri Tipi

Python sayısal veri tiplerinden olan int (integer) veri tipi konumuzla başlayalım.

Bir int değişken sonsuz uzunlukta pozitif ve negatif tam sayılardan oluşabilir. Sadece ondalık değerlere sahip olamaz.

x = 10
y = 35656222554887711
z = -3255522
print(type(x)) # <class 'int'>
print(type(y)) # <class 'int'>
print(type(z)) # <class 'int'>

2. Float Veri Tipi

Python sayısal veri tiplerinden olan float (floating point number) veri tipi ile devam ediyoruz.

Bir float değişken bir veya daha fazla uzunluktaki küsüratlı basamağa sahip pozitif ve negatif sayılardan oluşabilir.

x = 1.10
y = 1.0
z = -35.59985
print(type(x)) # <class 'float'>
print(type(y)) # <class 'float'>
print(type(z)) # <class 'float'>

Float veri tipinde e veya E ile 10 un katsayılarını belirtebilirsiniz.

x = 15e3
y = 12E4
z = -87.7e100
print(x) # 35000.0
print(y) # 120000.0
print(z) # -8.77e+101
print(type(x)) # <class 'float'>
print(type(y)) # <class 'float'>
print(type(z)) # <class 'float'>

3. Complex Veri Tipi

Python sayısal veri tiplerinden olan complex veri tipi ile devam ediyoruz.

Bir complex veri tipinde sanal kısımlar j harfiyle belirtilir.

x = 3+5j
y = 5j
z = -5j
print(x) # (3+5j)
print(y) # 5j
print(z) # (-0-5j)
print(type(x)) # <class 'complex'>
print(type(y)) # <class 'complex'>
print(type(z)) # <class 'complex'>

4. Tip Dönüşümleri

Bir veri tipi int() , float() , ve complex() fonksiyonları kullanılarak başka bir veri tipine dönüşüm yapılabilir.

4.1 Int veri Tipinden float Veri Tipine Dönüşüm

Python programlamada int veri tipinden float veri tipine çevirme işlemi için float() fonksiyonunu kullanabilirsiniz.

x = 3 # int
a = float(x)
print(a) # 3.0
print(type(a)) # <class 'float'>

4.2 Float veri Tipinden int Veri Tipine Dönüşüm

Python programlamada float veri tipinden int veri tipine çevirme işlemi için int() fonksiyonunu kullanabilirsiniz.

x = 7.3 # float
a = int(x)
print(a) # 7
print(type(a)) # <class 'int'>

Float veri tipinden int veri tipine dönüşüm yaparken elinizdeki float sayının en yakın olduğu taban veya tavan int sayıya dönüşmesi için round() fonksiyonunu kullanabilirsiniz.

x = 7.3
y = 7.5
z = 7.8
a = round(x)
b = round(y)
c = round(z)
print(a) # 7
print(b) # 8
print(c) # 8

4.3 Int veri Tipinden complex Veri Tipine Dönüşüm

Python programlamada int veri tipinden complex veri tipine çevirme işlemi için complex() fonksiyonunu kullanabilirsiniz.

x = 3 # int
a = complex(x)
print(a) # (3+0j)
print(type(a)) # <class 'complex'>

4.4 Float veri Tipinden complex Veri Tipine Dönüşüm

Python programlamada float veri tipinden complex veri tipine çevirme işlemi için complex() fonksiyonunu kullanabilirsiniz.

x = 5.7 # float
a = complex(x)
print(a) # (5.7+0j)
print(type(a)) # <class 'complex'>

Complex veri tipindeki bir sayıyı başka bir veri tipine çeviremezsiniz.

5. Rastgele Sayı Üretme & Oluşturma

Python özünde rastgele sayılar üretmek için bir random() fonksiyonu barındırmaz. Fakat ek modüller ile rastgele sayı oluşturma işlemi yapılabilir. Bunun için öncelikle import random komutu ile gerekli kütüphaneyi kodumuza eklememiz gerekiyor. Aşağıdaki örneği inceleyebilirsiniz.

import random
print(random.randrange(1,10))

Bu örnek ile 1 ve 9 arasında rastgele sayılar üretebilirsiniz. Aşağıdaki örnek ile de bir tavan sayı belirleyip 0 ile o sayı arasında rastgele sayılar üretebilirsiniz.

import random
print(random.randrange(3))

Bu örnekte oluşabilecek sayılar sadece 0,1 ve 2 dir.

6. Matematiksel İşlemler ve Fonksiyonlar

Bu bölümde Python'da sayılar üzerinde kullanabileceğimiz operantları ve en çok kullanılan fonksiyonları inceleyeceğiz.

# Toplama İşlemi
>>> x + y
# Çıkarma İşlemi
>>> x - y
# Çarpma İşlemi
>>> x * y
# Bölme İşlemi
>>> x / y
# Bölme İşlemi (Küsüratı siler)
>>> x // y
# Mod İşlemi
>>> x % y
# Sayıyı negatife çevirme
>>> -x
# Mutlak Değer
>>> abs(x)
# Kompleks Sayının Eşleniği
>>> c.conjugate()
# Bölme ve Mod İşlemi (x // y, x % y)
>>> divmod(x, y)
# X in Y üssü (ikiside aynı işlemi yapar)
>>> pow(x, y)
>>> x**y