Python’da Sayısal Veri Tipleri: “int” – “float” -“complex”

Python programlama dili, matematiksel hesaplamalar yapabilmemiz için üç farklı sayısal veri tipi bulundurmaktadır. Her biri farklı durumlar için tasarlanmış olan bu sayısal veri tipleri, matematiksel işlemleri kolay ve etkili hale getirir. Ne işe yaradıklarını kabaca şöyle özetleyebiliriz:

  1. int (integer): Tam sayıların temsil edildiği veri tipidir. Negatif ya da pozitif tam sayılar, hatta sıfır bu tip altında tutulur. Örnek:
    • x = 5
    • y = -10
    • z = 0
  2. float: Ondalık sayıları ifade eder. Eğer bir sayı kesirli bir değere sahipse, Python bunu float tipiyle işler. Örnek:
    • pi = 3.14
    • k = -0.5
  3. complex: Karmaşık sayıları temsil eder. Karmaşık sayılar, reel ve sanal kısımdan oluşur. Lisede matematiğiniz iyiyse eğer karmaşık sayıların a + bi formatında gösterildiğini biliyorsunuzdur. Burada “a” ve “b” reel sayılar olup “i” ise sanal birimdir ve karesi -1’e eşittir. Python’da ise karmaşık sayılar j harfi ile tanımlanır. Örnek:
    • a = 2 + 3j
    • b = 4 + 5j

Python’da Sayısal Veri Tipleriyle Çalışırken Nelere Dikkat Etmeliyim?

1. Python’un “dinamik tipli” (dynamically typed) bir dil olmasından dolayı, Python’da bir değişkene değer atandığında bu değerin türü otomatik olarak belirlenir. Yani, programcının değişkenin tipini özellikle belirtmesine gerek yoktur. Böylesi bir yaklaşım hataya yol açacaktır.

x = 10       # Python bunu int olarak algılar
y = 3.14     # Python bunu float olarak algılar
z = 6 + 8j # Python bunu complex olarak algılar
a = "Merhaba"  # Python bunu string olarak algılar
int b = 20 # Yanlış, Python'da tür belirtmeye gerek yok

2. Python’da float tipi sayısal veriler sadece basit kesirli sayıları değil, aynı zamanda bilimsel notasyonla gösterilen sayıları da temsil edebilir. Bilimsel notasyon dediğimiz şey özellikle çok büyük veya çok küçük sayıları ifade etmek için kullandığımız, hani “e” ile temsilen sayılar var ya hah işte onlardır. Örneğin 5.6e3 değeri, 5.6 x 10³ yani 5600.0 olarak depolanırken 3.4e-2 değeri ise 3.4 x 10⁻² yani 0.034 şeklinde depolanır.

3. Python’da float veri tipi ile ilgili dikkat edilmesi gereken önemli bir konu da hassasiyet meselesidir. Zira float değerler bellekte tam sayılara göre daha fazla yer kapladığından kesinlik sorunları yaşanabilmektedir. Bunun nedeni, bilgisayarların kesirli sayıları tam olarak temsil edememesiyle ilgilidir. Bu yüzden, float kullanırken küçük hataların farkında olmanız ve hatta buna önlem almanız gerekebilmektedir.

Örneğin, matematiksel olarak 0.1 + 0.2 işleminin sonucu 0.3 olmalıdır. Ancak, Python’da bu işlem sonucunda elde edilen değer tam olarak 0.3 olmayabilir:

print(0.1 + 0.2)  # Sonuç 0.30000000000000004 olabilir

4. Tam sayıların sonuna .0 eklerseniz Python onu otomatik olarak float döndürür.

x = 5.0   # float olarak tanımlandı

5. Hesaplamalarında tam sayılar kullanılsa bile yapılan bölme işleminin sonucunda Python float olarak değer döndürür. Örneğin:

y = 10 / 2  # Sonuç 5.0 olarak yazılacaktır çünkü float bir değer döner

Python’da Sayısal Veri Tiplerini Birbirine Dönüştürmek

Python’da sayısal veri tipleri arasında kolayca dönüşüm yapabilirsiniz. Bazen bir int (tam sayı) değeri float (ondalıklı sayı) ya da tam tersine dönüştürmek isteyebilirsiniz. Python, bu tür dönüşümleri yapmanızı sağlayan gömülü fonksiyonlar sunar.

Merak etmeyin! Öyle aklınızda zor kalacak metot isimleri yok. Zira “int” için int(), “float” için float(), “complex” için de complex() metotlarını kullanıyoruz. Oldukça basit, değil mi? Mesela, int() metodu bir sayıyı tam sayıya dönüştürür. Örneğin, int(5.8) ifadesi sonucu 5 olacaktır çünkü ondalık kısmı atar ve sadece tam sayıyı alır. Bunu sakın yuvarlama işlemi olarak düşünmeyin, sadece tam sayı kısmını alıyoruz. Benzer şekilde, float() metodu sayıyı ondalıklı sayıya çevirir. Yine benzer şekilde complex() metodu ise bir sayıyı karmaşık sayıya dönüştürür. Bu metot reel kısma ek olarak bir sanal kısım (j) ekler. Örneğin, complex(3, 5) ifadesi (3+5j) sonucunu verir.

# int() ile tam sayıya dönüştürme
x = int(5.8)      # Sonuç: 5
y = int("10")     # Sonuç: 10 (string'i tam sayıya çevirir)
print(x)
print(y)
# float() ile ondalıklı sayıya dönüştürme
a = float(10)     # Sonuç: 10.0 (tam sayıyı ondalıklı sayıya çevirir)
b = float("3.14") # Sonuç: 3.14 (string'i ondalıklı sayıya çevirir)
print(a)
print(b)
# complex() ile karmaşık sayıya dönüştürme
c = complex(3, 4)   # Sonuç: (3+4j)
d = complex(5)      # Sonuç: (5+0j) (tek bir sayı verirseniz sanal kısmı 0 olur)
print(c)
print(d)

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu