Bu bölümde sayı veri tipleri derinlemesine incelenecek, ayrıca sayılarla ilgili bazı fonksiyonlar anlatılacaktır.
Onluk tabandaki bir sayıyı ikilik tabana çevirme:
10’luk sistemdeki sayıları 2’lik sistemdeki bir sayıya çevirmek için bin( ) fonksiyonu kullanılır. Aşağıdaki örnek kodları etkileşimli kabuk üzerinde çalıştırınız.
bin(5)
>>> '0b101'
Buradaki 0b ifadesi sayının ikilik tabanda olduğunu belirtmektedir. 101 ifadesi ise sağdan itibaren “iki üzeri sıfır çarpı 1 + iki üzeri bir çarpı 1 + iki üzeri iki çarpı 2 şeklinde tanımlanmaktadır.” Bu işlemin sonucu (201) + (210) + (22*1) =5 olarak hesaplanmaktadır.
bin(12)
>>> '0b1100'
( 20 * 0)+(210)+(221)+(23*1) = 12
şeklinde hesaplanmıştır.
Onluk tabandaki bir sayıyı onaltılık tabana çevirme:
10’luk sayı sistemdeki sayıları 16’lık sistemdeki bir sayıya çevirmek için hex( ) fonksiyonu kullanılır
hex(18)
>>> '0x12'
Buradaki 0x ifadesi sayının 16’lık sistemde olduğunu göstermektedir.
hex(18)
>>> '0x12'
(1602)+(1611) = 2+ 16 = 18 olarak hesaplanır.
abs( ) Fonksiyonu: İngilizcede ‘mutlak’ anlamına gelen absolute adlı bir sözcüğünün kısaltmasıdır. abs( ) fonksiyonu bir sayının mutlak değerini almak için kullanılır. Fonksiyon tek parametre alarak sayının mutlak değerini alır.
abs(-10)
>>> 10
abs(15)
>>> 15
abs(-3.2)
>>> 3.2
round( ) Fonksiyonu: round( ) fonksiyonu bir sayıyı belirli kriterlere göre yukarı veya aşağı yuvarlamak için kullanılır.
round(5.7)
>>> 6
round(5.3)
>>> 5
round(5.5)
>>> 6
Eğer girilen değerin virgülden sonraki kısmı 5 ve üzerinde bir değerse yukarı, altında bir değerse aşağı yuvarlama işlemi yapar.
chr( ) Fonksiyonu: chr( ) fonksiyonu, kendisine parametre olarak verilen bir tam sayının karakter olarak (ASCII) karşılığını verir.
chr(65)
>>> 'A'
chr(100)
>>> 'd'
max( ) Fonksiyonu: max( ) fonksiyonu, bir dizi içindeki sayıların en büyüğünü verir.
max(3,5,7,8,9)
>>> 9
=[3,8,2,6,15]
listemax(liste)
>>> 15
min( ) Fonksiyonu: min( ) fonksiyonu, max( ) fonksiyonunun tam tersi işlem yapar.
min(4,7,1,2,9)
>>> 1
=[4,7,6,9,3]
listemin(liste)
>>> 3
pow( ) Fonksiyonu: pow( ) fonksiyonu power sözcüğünün kısaltmasında türetilmiştir. Bir sayının üssünü almak için kullanılır. İki adet parametre alır, birinci parametre üssü alınacak sayıyı, ikinci parametre ise kuvvetini ifade eder.
pow(3,4)
>>> 81
pow(9,0.5)
>>> 3.0
sum( ) Fonksiyonu: sum( ) fonksiyonu, dizi içerisindeki değerlerin toplamını bulmamızı sağlar. sum( ) fonksiyonuna girilen değerler liste ya da tupple türünden olması gerekmektedir.
sum([5,3,8,6])
>>> 22
Karakter dizilerinin özel metotları:
replace( ) Fonksiyonu: replace( ) fonksiyonu, bir karakter dizisi içindeki karakterleri başka karakterlerle değiştirmeyi sağlar. replace( ) fonksiyonu iki adet parametre alır. Birinci parametre değişecek karakter ya da karakterleri, ikinci parametre ise yerine gelecek karakter ya da karakterleri ifade eder.
="python"
a"p","P")
a.replace(>>> 'Python'
split( ) Fonksiyonu: split( ) fonksiyonu bir karakter dizisini verilen kurala göre bölme işlemi yapar. Eğer split( ) fonksiyonuna parametre verilmezse boşluk karakterine göre yapar.
="Milli Eğitim Bakanlığı"
a
a.split( )>>> ['Milli', 'Eğitim', 'Bakanlığı']
Ya da belirli kriterlere göre bölme işlemi de yapılabilir.
="T.B.M.M"
b".")
b.split(>>> ['T', 'B', 'M', 'M']
upper( ) ve lower( ) fonksiyonları: Bu fonksiyonlar karakter dizilerini büyük veya küçük harfe çevirme işlemini yapar
"Merhaba dünya".upper( )
>>> 'MERHABA DÜNYA'
"Merhaba DÜNYA".lower( )
>>> 'merhaba dünya'
join( ) fonksiyonu: split( ) fonksiyonunun tam tersi işlem yapar. Liste içerisinde bulunan karakter dizilerini verilen kurala göre birleştirmek için kullanılır.
"-".join(["Merhaba","Dünya"])
>>> 'Merhaba-Dünya'
capitalize fonksiyonu: capitalize( ) fonksiyonu karakter dizilerinin sadece ilk harfini büyük yapmak için kullanılır.
="python programlama dili"
a
a.capitalize( )>>> 'Python programlama dili'
find( ) fonksiyonu: find( ) fonksiyonu karakter dizisi içerisindeki bir karakterin konumunu sorgular. Bulduğu ilk değeri döndürür
="armağan"
a"a")
a.find(>>> 0
İlk bulduğu indis değerini verir.
rfind( ) fonksiyonu: find( ) fonksiyonun benzeri işlemi yapar ancak arama işlemini sağ taraftan başlayarak yapar.
="armağan"
a"a")
a.rfind(>>> 5
isdigit( ) fonksiyonu: isdigit( ) fonksiyonu, karaktere dizisinin bir sayısal değer olup olmadığını kontrol eder. Eğer karakter dizisindeki tüm karakterler rakamdan oluşuyorsa True, değilse False değeri döndürür
="12345"
metin print(metin.isdigit())
>>> True
="asd123"
metin print(metin.isdigit())
>>> False