Bolum11

# 11 İLERİ SEVİYE VERİ YAPILARI

## 11.1. Sayıların İleri Seviye Özellikleri

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.

## 11.2. Sayılar Üzerinde Uygulanabilen Fonksiyonlar

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

    liste=[3,8,2,6,15]
    max(liste)
    >>> 15

min(  ) Fonksiyonu: min(  ) fonksiyonu, max(  ) fonksiyonunun tam tersi işlem yapar.

    min(4,7,1,2,9)
    >>> 1

    liste=[4,7,6,9,3]
    min(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

## 11.3. İleri Seviye Karakter Dizileri (String)

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.

    a="python"
    a.replace("p","P")
    >>> '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.

    a="Milli Eğitim Bakanlığı"
    a.split(  )
    >>> ['Milli', 'Eğitim', 'Bakanlığı']

Ya da belirli kriterlere göre bölme işlemi de yapılabilir.

    b="T.B.M.M"
    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.

    a="python programlama dili"
    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

    a="armağan"
    a.find("a")
    >>> 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.

    a="armağan"
    a.rfind("a")
    >>> 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

    metin ="12345"
    print(metin.isdigit())
    >>> True

    metin ="asd123"
    print(metin.isdigit())
    >>> False