/ Python / 👁 877 Okunma

Python Sayılar (Nümerik Tipler) ve Matematiksel İşlemler

Python kullananlar için sayılarla işlem yapmak çok kolaydır. Hem matematiksel işlemleri hem de fonksiyonları o kadar işlevseldirki idle veya komut satırı kullanarak hesap makinesine bile ihtiyaç duymadan hesaplamalarınızı yapabilirsiniz.

Python'da sayılar konusu 4 nümerik tip üzerinden temellenir. Bunlar integer, long integer, floating point ve complex değişken tipleridir. Hemen küçük bir Türkçeleştirme yaparsak tam sayılar, uzun tam sayılar, ondalıklı sayılar ve karmaşık sayılar olarak çevirebiliriz. Bu yazımızda da hepsini tek tek inceleyeceğiz.

Integer (Tam Sayılar)

Negatif ve pozitif tam sayılar kümesini kapsayan veri tipidir. Integer yani kısa ismiyle int olarak nitelendirilirler. (-356, 65 , 0 , 5689) gibi sayılar integer veri tipine örnek verilebilirler.

Long Integer (Büyük Tam Sayılar)

Python 2.x sürümünde sys.maxsize int değerinin negatif ve pozitif limitlerinin ardından long integer veri tipi başlar. Bu sayı 32-bit sistemlerde 2^32-1, 64-bit sistemlerde 2^64-1 tam sayısına denk gelmektedir. Ama Python 3.x ile bu veri tipini rafa kaldırmış bulunuyoruz. Çünkü integer değeri artık kapasitenizin imkan verdiği değere kadar (bir nevi limitsiz) büyük olabilmektedir.

Float (Ondalıklı Sayı)

Şimdiye kadar hep tam sayılardan bahsedip durduk. Peki nerde bu virgüllü, ondalıklı sayılar? İşte tam olarak burada :) Python'da ondalıklı sayılarımızın veri tipi float olarak geçmektedir. Bu sayılara (-5.6, 89.55552, 3.2) gibi sayıları örnek verebiliriz.

NOT: 0 sayısı integer bir değişkendir ama 0.7 float özellikte bir değişken tipidir.

Complex (Karmaşık Sayılar)

Matematikte gördüğümüz z == z.real + z.imag*1j fonksiyonu, yani karmaşık sayılar konusu aynı şekilde Python içinde de kullanılabilir bir halde. Bu veri tipine (2+3j, -5+1j) gibi sayıları örnek verebiliriz.


NOT: Fonksiyonlara geçmeden önce en çok merak edilen konulardan birisi olan değişken limitlerine ve bit uzunluklarına değinelim.

Python 2.x de int değişken tipinde en büyük integer değerini şu şekilde görebiliriz;

>>> sys.maxint 
>>> //sys.maxsize olarakta kullanabilirsiniz
9223372036854775807

Bu sayıdan sonra gelen sayılar otomatikmen long integer değişken tipi olarak atanır. Bu örneği şu şekilde görebiliriz:

>>> import sys
>>> type(sys.maxsize)
<type 'int'>
>>> type(sys.maxsize+1)
<type 'long'>

Python 3.x ile beraber ise artık bir limit söz konusu değildir. Nasıl yani? Bu, ne kadar bir hafızaya sahipseniz o kadar uzunlukta integer tanımlayabilirsiniz demektir. Böylece long integer kavramına gerek kalmadan sonsuz(kapasiteniz dahilinde) bir integer değişkenine sahip oluyoruz.

Peki bit uzunlukları nasıl öğrenilebilir? Bu sorunuzun cevabını küçük bir yerleşik fonksiyon ile kolayca cevaplayabiliyoruz. Nasıl mı?

>>> sayi = 1
>>> sayi.bit_length()
1

>>> sayi = 8
>>> sayi.bit_length()
3

>>> sayi = 538
>>> sayi.bit_length()
10

Gördüğünüz gibi yukarıdaki fonksiyon aracılığı ile nümerik değişkenlerinizin bit uzunluğunu öğrenebilirsiniz.

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)

// Tam Sayıya Çevirme
>>> int(x)

// Uzun Tam Sayıya Çevirme
>>> long(x)

// Ondalık Sayıya Çevirme
>>> float(x)

// Kompleks Sayı Oluşturma
>>> complex(x,y)

// 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 

Böylece bu yazımızda Python sayılar ve temel fonksiyonlarla birlikte kullanımlarını öğrenmiş olduk. Tabi matematik söz konusu olunca daha yüzlerce fonksiyon Python bünyesinde yer alıyor ama hepsini bir konu altında inceleyemeyeceğimiz için sorularınızı yorum olarak alalım. Diğer yazılarımızda görüşmek üzere sağlıcakla kalın.