Python programlama dili, farklı sayı veri tipleriyle çalışabilir Bu veri tiplerinin özellikleri ve kullanımları, Python'da işlem yaparken oldukça önemlidir Pythondaki Sayı Veri Tipleri hakkında detaylı bilgi için buraya tıklayın!

Python programlama dilinde kullanılan sayı veri tipleri tamsayı (int), ondalıklı sayı (float) ve karmaşık sayı (complex) olarak üçe ayrılır. Bu veri tipleri programlama dillerinde olduğu gibi, matematiksel işlemler yapmak, değişkenlere sayısal değerler atamak ve programlamanın diğer alanlarında kullanılmak amacıyla çeşitli özelliklerle birlikte kullanılır.
Tamsayılar (int) negatif veya pozitif olabilen bütün sayıları kapsar. Ondalıklı sayılar (float) ise virgülden sonra sayısı bulunan sayılar ya da tam sayılarla ondalık olarak yazılmış değerlerdir. Karmaşık sayılar (complex) ise gerçek ve sanal sayılardan oluşur.
Sayı veri tiplerini kullanarak, matematiksel işlemler yapabilirsiniz. Örneğin, +, -, *, / gibi temel matematiksel işlemler kullanabilirsiniz. Ayrıca, bu veri tiplerini değişkenlere atayarak programlamanın diğer alanlarında da kullanabilirsiniz.
Tamsayılar (int)
Python'da kullanılan tamsayı veri tipi int ile ifade edilir. Tam sayılarla yapılabilecek işlemler arasında toplama, çıkarma, çarpma ve bölme bulunur. Tamsayılar pozitif, negatif veya sıfır olabilirler. İnt verilerinin özellikleri arasında aldıkları işaret, maksimum değerleri (2^31-1) ve minimum değerleri (-2^31) yer alır.
Bir Python programında bir tamsayıyı tanımlamak ve atamak için, değişken ismi belirtilir ve eşittir işareti kullanılır. Örneğin, a = 5 olarak tanımlanır ve a değişkeni 5 tamsayısı değerini alır. Ayrıca Python'da tamsayı değişkenleri karmaşık sayılara da dönüştürülebilir.
İşlem | Sembol | Örnek | Çıktı |
---|---|---|---|
Toplama | + | 4 + 5 | 9 |
Çıkarma | - | 7 - 3 | 4 |
Çarpma | * | 3 * 8 | 24 |
Bölme | / | 20 / 5 | 4.0 |
Yukarıdaki örneklerde, tam sayılarla yapılan temel matematik işlemleri bulunmaktadır. Bölme işleminin sonucu bir ondalıklı sayıdır, burada "float" veri tipi kullanılır. Ancak, sonucu tamsayı olarak almak istiyorsanız "//" sembolünü kullanarak bölme işlemi yapabilirsiniz.
- a = 5
- b = 2
- c = a // b
- print('5 // 2 is', c)
Yukarıdaki örnekte, "a" ve "b" tamsayıları tanımlanır ve "c" değişkeni "a" nın // sembolü ile "b" ye bölüm sonucunu alır. Programın çıktısı aşağıdaki gibidir:
5 // 2 is 2
Tam sayılar Python programlarında sıklıkla kullanılan temel veri tiplerinden biridir. Programlama dili içinde tamsayılarla ilgili birçok fonksiyon ve yöntem de bulunmaktadır. Bu fonksiyonlar ve yöntemler, tamsayı verileriyle çalışırken işimizi çok daha kolay hale getirir.
Ondalıklı Sayılar (float)
Python programlama dilindeki sayı veri tipleri genellikle tamsayı (int), ondalıklı sayı (float), ve karmaşık sayı (complex) olarak sınıflandırılır. Ondalıklı sayılar, özellikle matematiksel işlemler sırasında oldukça sık kullanılan bir sayı veri tipidir.
Float veri tipleri, ondalık sayıları temsil etmek için kullanılır. Örneğin, blog yazılarındaki okunma sayıları üzerinde çalışırken veya para birimi hesaplamaları yaparken genellikle float veri tipini kullanırız. Float veriler, tamsayı verilerden farklı olarak virgülden sonra sınırsız sayıda rakam içerebilirler ve aritmetik işlemler sırasında hassasiyet bir sorun olabilir.
Float veriler üzerinde belirli işlemler yapmak için, yuvarlama fonksiyonları kullanabiliriz. Python'da bulunan round(), math.ceil() ve math.floor() fonksiyonları bunlardan bazılarıdır. Yuvarlama fonksiyonları, ondalıklı sayılarla çalışırken oldukça yararlı bir araçtır.
Bununla birlikte, float verilerin hesaplamaları sırasında hassasiyet sorunları da ortaya çıkabilir. Bu sorun, özellikle para birimi işlemleri sırasında önemlidir. Float veriler, tamsayı verilerden farklı olarak, belirli bir değere eşit olmadıkları için hassasiyet sorunlarına yol açabilirler. Bu soruna çözüm olarak, Decimal veri tipini kullanmak önerilir.
Ondalıklı sayılarla çalışmak, pek çok programlama dilinde olduğu gibi Python'da da oldukça yaygındır ve ondalıklı sayılara ilişkin bu özellikleri anlamak, Python programlamada temel bir beceridir.
Floatların Yuvarlanması
Ondalıklı sayılar(float) Python'da oldukça önemli bir yer tutar. Ancak bazen bu sayıların fazla rakamlı olması ya da derleyiciye göre farklılık gösteren sonuçlar ortaya çıkarması sorun teşkil edebilir. İşte bu noktada yuvarlama fonksiyonları kullanılarak sayıların daha anlamlı hale getirilmesi mümkündür.
Python'da bulunan round(), math.ceil() ve math.floor() fonksiyonları yuvarlama işlemi için kullanılabilir. round() fonksiyonu en yakın tam sayıya yuvarlar. Örneğin, round(4.5) işleminde sonuç 5 olacaktır. Eğer ondalıklı kısım 5'ten küçük ise aşağıya, 5'ten büyük ise yukarıya yuvarlar.
math.ceil() fonksiyonu ise her zaman yukarıya yuvarlar. Örneğin, math.ceil(2.2) işleminde sonuç 3 olacaktır.
math.floor() fonksiyonu ise her zaman aşağıya yuvarlar. Örneğin, math.floor(5.8) işleminde sonuç 5 olacaktır.
Bu fonksiyonlardan hangisini kullanacağınıza karar verirken yapacağınız işlemin niteliği de önemlidir. Örneğin, bir fiyat hesabı yaparken matematiksel olarak tam değere yuvarlamak isteyebilirsiniz. Ancak bir doğru çizimi işleminde kesin sonucu bilmek için yukarı yuvarlamayı tercih edebilirsiniz.
Bu fonksiyonlar sayesinde ondalıklı sayıları işlemlerinizde daha anlamlı ve doğru sonuçlar elde etmek mümkün olur.
round()
Python'da bulunan round() fonksiyonu, ondalıklı sayıları belirli bir basamağa kadar yuvarlar. Fonksiyon, yuvarlama yapılacak sayı ve yuvarlama yapılacak hane sayısı parametreleri alır.Örnek kullanım:sayi = 3.14159yeni_sayi = round(sayi, 2)print(yeni_sayi)Çıktı:3.14Yukarıdaki örnekte, sayi değişkeni 3.14159 değerini alır ve round() fonksiyonu kullanılarak 2 haneli olarak yuvarlanır. Yeni_sayi değişkeni sonuç olarak 3.14 değerini alır.round() fonksiyonunun kullanımında, ikinci parametre olan hane sayısı belirtilmezse, fonksiyon varsayılan olarak bir haneli yuvarlama yapar. Ayrıca negatif değerler de kullanılabilir. Örneğin, -1 girildiği durumda birler basamağından sonra yuvarlama yapılır.Yuvarlama işlemi yapılırken, sayının kendisinden büyük veya küçük olan en yakın tam sayıya yuvarlanır. Eğer iki tam sayı arasında sayı bulunuyorsa, yarısına daha yakın tam sayıya yuvarlama yapılır.Bu fonksiyon, özellikle finansal verilerde kullanışlıdır. Yukarıdaki örnekte olduğu gibi, 3.14159 sayısının virgülden sonraki ikinci basamağından sonra yuvarlanarak, daha kolay anlaşılır bir değer olan 3.14'e dönüştürülmesi mümkündür.
math.ceil()
Python'da ondalıklı sayıların yukarıya yuvarlanmasını sağlayan bir fonksiyon olan math.ceil() fonksiyonu, özellikle matematik işlemlerinde kullanılır. Bu fonksiyon, bir ondalıklı sayıyı bir tamsayıya yukarıya doğru yuvarlar. Örneğin, math.ceil(3.2) ifadesi kullanıldığında, çıktı olarak 4 döner. Ayrıca, math.ceil(4.0) ifadesi kullanıldığında da sonuç olarak 4 döner. Bu nedenle, tam sayılar üzerinde çalışmak istediğinizde math.ceil() fonksiyonu oldukça yararlı olabilir.math.ceil() fonksiyonunun kullanım örneklerine bir bakalım:- Örnek 1: Sayıyı yukarıya doğru yuvarlama.
İşlem:
print(math.ceil(4.7))
Çıktı:
5
- Örnek 2: Sayının yarısını yukarıya doğru yuvarlama.
İşlem:
print(math.ceil(2.5))
Çıktı:
3
- Örnek 3: Dizi için ortalama hesabı.
İşlem:
arr = [12.5, 10.3, 17.2, 14.6, 8.3]
İşlem:
print(math.ceil(sum(arr)/len(arr)))
Çıktı:
15
math.floor()
math.floor() fonksiyonu, float türündeki sayıların kendisinden küçük ya da eşit en büyük tam sayı değerine yuvarlanmasını sağlar. Bu fonksiyonun kullanımı oldukça pratik bir şekilde gerçekleştirilir. Örneğin:
import mathdeger = 3.7alt_deger = math.floor(deger)print(alt_deger) # 3
Burada deger adında bir float değişken tanımlanmıştır ve daha sonra math.floor() fonksiyonu kullanılarak bu sayı 3'e yuvarlanmıştır. İlgili kod satırı çalıştırıldığında alt_deger değişkenine atanmış olan değer ekranda görüntülenir.
math.floor() fonksiyonu ile ayrıca float türündeki sayıların virgülden sonraki kısmını atmak da mümkündür.
deger = 16.84sonuc = math.floor(deger)print(sonuc) #16
Bir başka kullanım örneği de aşağıda yer almaktadır.
x = 6.222print(math.floor(x)) # 6
Bu örnekte math.floor() fonksiyonu kullanılarak, x değişkeni 6'ya yuvarlanmıştır.
math.floor() fonksiyonunun özellikleri arasında en önemlisi, float değerlerin tam sayıya yuvarlanmasını gerçekleştirerek sayısal hesaplamalarda daha doğru sonuç vermesini sağlamasıdır.
Float Hatası
Ondalıklı (float) sayılar, bilgisayarın sayılarda kısıtlı bir hassasiyeti olması nedeniyle bazen doğru değere eşitlenemeyebilir. Bu durum "float hatası" olarak adlandırılır. Float hatası, özellikle para birimi ve finansal hesaplamalar gibi hassas veri hesaplamaları için büyük bir sorundur. Bu soruna çözüm olarak ise genellikle yuvarlama işlemleri kullanılır.
Python'da bulunan round() fonksiyonu, bir ondalıklı sayıyı belirli bir hassasiyette yuvarlamak için kullanılır. Örneğin;
Kod | Çıktı |
---|---|
round(3.14159, 2) | 3.14 |
Bu örnekte round() fonksiyonu, 3.14159 sayısını 2 ondalık basamağa yuvarlayarak 3.14 olarak çıktı verir.
math kütüphanesinde bulunan ceil() fonksiyonu, bir ondalıklı sayıyı yukarı yuvarlamak için kullanılır. Örneğin;
Kod | Çıktı |
---|---|
import math math.ceil(4.2) | 5 |
Bu örnekte ceil() fonksiyonu, 4.2 sayısını 5 olarak yukarı yuvarlar.
math kütüphanesinde bulunan floor() fonksiyonu, bir ondalıklı sayıyı aşağı yuvarlamak için kullanılır. Örneğin;
Kod | Çıktı |
---|---|
import math math.floor(4.8) | 4 |
Bu örnekte floor() fonksiyonu, 4.8 sayısını 4 olarak aşağı yuvarlar.
Bu yuvarlama fonksiyonları, float hatası sorunlarının çözümünde oldukça faydalıdır. Ancak bazen bu yöntemler yeterli olmayabilir. Bu nedenle, hassas veri hesaplamalarında float yerine decimal veri tipinin kullanılması önerilir.
Karmaşık Sayılar (complex)
Python'da karmaşık sayılar kompleks sayılar olarak adlandırılır. Bu sayılar gerçek ve sanal kısımlardan oluşur ve a + bj şeklinde ifade edilir. Burada a gerçek kısımı, b ise sanal kısımıdır.
Karmaşık sayılar matematiksel işlemlerde ve mühendislik uygulamalarında yaygın olarak kullanılır. Örneğin, elektronik devrelerde ve sinyal işlemede kullanılır. Python'da, kompleks sayılar kullanıcı tarafından tanımlanabilir veya matematik fonksiyonları tarafından döndürülebilir.
Karmaşık sayılar ile yapılabilecek matematiksel işlemler arasında toplama, çıkarma, çarpma, bölme gibi işlemler yer alır. Python'da bu işlemleri gerçekleştirmek için değişkenlerin içine kompleks sayılar atanır ve matematiksel operatörler kullanılır.
Operatör | İşlevi |
---|---|
+ | Toplama |
- | Çıkartma |
* | Çarpma |
/ | Bölme |
Python'da kompleks sayıların gerçek ve sanal kısımları ayrı değişkenlerde saklanabilir. Ayrıca, .real ve .imag öznitelikleri kullanılarak bir kompleks sayının gerçek veya sanal kısımları ayrı ayrı alınabilir.
- Bir kompleks sayıyı gerçek sayıya dönüştürmek için .real kullanılır.
- Bir kompleks sayıyı sanal sayıya dönüştürmek için .imag kullanılır.
Örneğin, a + bj şeklindeki bir kompleks sayının gerçek kısmı a, sanal kısmı ise b olarak tanımlandıysa:
z = a + bjgercek = z.realsanal = z.imag
Bu kod bloğu, z'nin gerçek ve sanal kısımlarını ayrı değişkenlerde saklar.
Değişken Türü Dönüşümleri
Değişkenler, programlamada oldukça önemli bir konudur. Python'da değişkenlerin tipi, değer atanırken otomatik olarak belirlenir. Ancak, bazı durumlarda değerlerin tipini değiştirmemiz gerekebilir. İşte bu noktada değişken türü dönüşümleri devreye girer.
Değişken türü dönüşümü, bir veri tipini diğerine dönüştürme işlemidir. Bu işlem, kimi zaman programlamada işleri kolaylaştırmak, kimi zaman da olası hataları önlemek için kullanılır. Örneğin, kullanıcıdan aldığımız bir sayı değerinin string olarak kaydedilmesi durumunda, bu değeri matematiksel işlemler yapmak için integer türüne dönüştürme işlemi yapmamız gerekebilir.
Python'da değişken türü dönüşümleri oldukça kolaydır. Öncelikle dönüştürmek istediğimiz değişkeni belirlememiz gerekiyor. Daha sonra, bu değişkenin yeni türünü belirliyoruz. İşte bir örnek:
```x = "5" # x adında bir string değişken tanımlıyoruzy = int(x) # x string değişkenini integer türüne dönüştürüyoruz ve y adında bir değişkene atıyoruz```
Yukarıdaki örnekte, x string değişkeni integer türüne dönüştürülmüştür. Bu işlemi diğer veri tipleri için de yapabilirsiniz. Örneğin, float bir değeri integer türüne dönüştürmek için şu kodu kullanabilirsiniz:
```x = 3.14y = int(x)```
Bu işlem sonucu, y değeri 3 olacaktır.
Değişken türü dönüşümleri, programlamanın bir diğer önemli konusu olan explicit ve implicit dönüşümler şeklinde de ikiye ayrılır. Implicit dönüşümler, Python tarafından otomatik olarak yapılır. Örneğin, bir integer değerin float türüne dönüştürülmesi. Explicit dönüşümler ise, bizim değişken türlerini dönüştürmemizle gerçekleşir.
Sonuç olarak, programlamada değişkenlerin işlevlerini daha iyi anlayabilmek için değişken türü dönüşümlerini öğrenmek önemlidir. Bu konuda yapacağınız uygulamalar, programlama yolculuğunuzu daha keyifli hale getirecektir.
Implicit vs Explicit Dönüşümler
Pythonda değişkenlerin türünü değiştirirken implicit ve explicit dönüşümleri kullanılır. Implicit dönüşüm, otomatik oluşur ve Python tarafından belirlenirken explicit dönüşüm, kod yazarı tarafından özel olarak belirtilir.
Implicit dönüşüm örneği olarak, bir tamsayıyı ondalıklı sayıya ekleyerek, tamsayı otomatik olarak ondalıklı sayıya dönüştürülür. Aynı şekilde, bir ondalıklı sayıyı bir tamsayıya eklediğinizde, Python ondalıklı sayıyı tamsayıya dönüştürür ve sonucu tam sayı olarak verir.
Explicit dönüşüm örneği olarak, int () ve float () fonksiyonları kullanılabilir. Bir tamsayıyı ondalıklı sayıya dönüştürmek için float () fonksiyonu kullanılırken, bir ondalık sayıyı tamsayıya dönüştürmek için int () fonksiyonu kullanılır.
Örneğin, aşağıda, bir implicit ve explicit dönüşüm örneği gösterilmiştir.
Örnek Kod | Çıktı |
---|---|
x = 5 | 5 |
y = 3.2 | 3.2 |
result = x + y | 8.2 |
result = float(x) + y | 8.2 |
- Implicit dönüşümler otomatiktir ve programcı tarafından belirlenmez.
- Explicit dönüşümler programcı tarafından belirlenir ve fonksiyonlar kullanılarak gerçekleştirilir.
Implicit ve explicit dönüşümler Pythonda yaygın olarak kullanılır ve programcılar arasında popülerdir. Bu dönüşümler, programlama dilinin esnekliğini artırır ve değişkenlerin farklı türler arasında sorunsuz bir şekilde dönüştürülmesini sağlar.
Type() Fonksiyonu
Type() fonksiyonu, Python'da veri tipini öğrenmek için kullanılan bir fonksiyondur. Bir değişkenin tipini belirlemek istediğinizde, sadece type() fonksiyonunu değişkenin yanına yazmanız yeterlidir. Örneğin, type(5) yazdığınızda, Python size integer yani tam sayı tipini verecektir.
Type() fonksiyonu, Python'da farklı veri tipleri üzerinde çalışırken oldukça kullanışlı bir fonksiyondur. Değişkenleri otomatik olarak belirleme özelliğine sahiptir. Böylece, bir değişkenin hangi veri tipinde olduğunu anlamak için kendiniz teker teker kontrol etmek zorunda kalmazsınız.
Type() fonksiyonu, aynı zamanda bir veri yapısı ile çalışırken de oldukça kullanışlıdır. Örneğin, bir liste, tuple veya sözlük gibi bir veri yapısının tipini kontrol etmek istediğinizde, type() fonksiyonunu kullanabilirsiniz.
Type() fonksiyonu ayrıca, yazdığınız fonksiyonların çıktısını kontrol etmek için de kullanılabilir. Özellikle birçok farklı veri tipi ile çalışan bir fonksiyon yazdığınızda, fonksiyonun ne tür bir veri döndürdüğünü kontrol etmek için type() fonksiyonu oldukça faydalı olacaktır.
Girdi | Çıktı |
---|---|
5 | <class 'int'> |
3.14 | <class 'float'> |
"Merhaba Dünya!" | <class 'str'> |
[1, 2, 3] | <class 'list'> |
Sonuç olarak, type() fonksiyonu, Python'da veri tiplerini anlamak ve kontrol etmek için oldukça faydalı bir fonksiyondur. Herhangi bir değişkenin veya veri yapısının tipini öğrenmek için kolayca kullanılabilir.
Random Sayılar (random)
Python'da random modülü, rastgele sayılar üretmek için kullanılır. Bu modül, rastgele sayılar üretirken belirli aralıklarda sayı üretmeyi sağlayan birkaç fonksiyon sağlar.
İşte random modülünde kullanabileceğiniz bazı fonksiyonlar:
- randint()
- randrange()
- uniform()
- random()
randint() fonksiyonu, iki belirli tam sayı arasında rastgele bir sayı üretir. Bu fonksiyon, verilen aralık dahilinde bir değer döndürür.
randrange() fonksiyonu, belirli bir aralıkta rastgele bir tam sayı döndürmek için kullanılır. Bu fonksiyon, başlangıç ve bitiş sayılarını belirlemek için kullanılır.
uniform() fonksiyonu ise, belirli bir aralıkta rastgele bir ondalıklı sayı döndürmek için kullanılır.
Son olarak random() fonksiyonu, 0 ve 1 arasında bir rastgele ondalıklı sayı döndürür.
Aşağıdaki örneklerde, yukarıdaki fonksiyonların kullanımına örnekler verilmiştir:
import random#a random integer between 1 and 10 (inclusive)x = random.randint(1, 10)
#a random integer between 0 and 100 (not including 100)y = random.randrange(0, 100)
#a random float between 1.5 and 5.5z = random.uniform(1.5, 5.5)
#a random float between 0 and 1a = random.random()
print(x)print(y)print(z)print(a)
Bu örnekte, rasgele sayılar kullanarak y verileri oluşturuldu. randint() fonksiyonu, belirtilen iki sayı arasında bir rastgele sayı döndürdü. randrange() fonksiyonu, belirtilen aralıkta bir sayı döndürdü. uniform() fonksiyonu, iki belirli sayı arasında bir rastgele ondalıklı sayı döndürdü ve random() fonksiyonu, 0 ve 1 arasında bir rastgele ondalıklı sayı döndürdü.
Random modülü, Pythondaki diğer sayı veri tipleriyle de birlikte kullanılabilir. Kullanımı oldukça basittir ve belirli aralıklarda veri üretmek için kullanışlıdır.