Python programlama dilinde, tanımlamış olduğumuz veri tiplerinde kullanım amaçlarına ve yerine göre veri tiplerinde dönüştürmeler yapabilmekteyiz. Veri tipi dönüşümlerine geçmeden önce ilk olarak Python veri tiplerini bilmemiz gerekiyor.
Kısaca veri tiplerine göz atacak olursak:
Metinsel veri tipi | str | ||
---|---|---|---|
Sayısal veri tipleri | int | float | complex |
Dizi oluşturan veri tipleri | list | range | tuple |
Küme oluşturan veri tipleri | set | frozenset | |
Binary veri tipleri | bytes | bytearray | memoryview |
Mantıksal operatör veri tipi | bool | ||
Adresleme yapan veri tipi | dict |
Veri tipleri, kullanım alanlarına göre ve programın doğru çalışma koşullarına göre dönüşüm yapılması gerekmektedir.
Örneğin bir not ortalaması hesaplaması yapan programı hazırlarken; tam sayı dizisini, ondalıklı sayı dizisine dönüştürmemiz gerekmektedir. Çünkü doğru ve kesin sonuca ulaşmak için ondalıklı sayılarla hesap yapmak gerekecektir.
Veri tipi dönüşümlerini, python dilinin bize sağlamış olduğu temel fonksiyonlar ile gerçekleştirmekteyiz. Tipler arasında dönüştürme yapmak için, işlev olarak tip adını kullanmanız yeterlidir. Bir veri tipinden diğerine dönüştürme gerçekleştirmek için çeşitli yerleşik işlevler kullanılır. Bu işlevler, dönüştürülen değeri temsil eden yeni bir nesneyi döndürmektedir. Örnekler yardımıyla veri tipi dönüşümlerine göz atalım.
İçindekiler
Bir değişkenin veri tipini öğrenmek
Tanımlamış olduğumuz değişkenin hangi veri tipi sınıfına ait olduğunu öğrenmek için type() fonksiyonunu kullanmaktayız. Bu fonksiyon bize değişken türünü döndürmektedir.
Bir değer tanımlayalım ve bu değerimizin veri tipini öğrenmek için type fonksiyonunu kullanalım. Aynı zamanda type fonksiyonunu çalıştırmak içinde print yardımıyla ekran çıktısını aldıralım.
1 2 3 | deger=20.5 type(deger) print(type(deger)) |
Ekran çıktısı:
1 | <class 'float'> |
Evet görüldüğü üzere bize deger adlı değişkenin, float (ondalıklı) veri tipine ait olduğunu söylemiş oldu.
Tam sayı veri tipi dönüşümü int()
Değişkene atanmış olan veriyi, tam sayı değerine dönüştürmek için kullanılır.
1 2 3 | deger=98.540 yenideger=int(deger) print(yenideger) |
İlk olarak bir deger değişkeni tanımladık. Bu deger değişkeni içerisine ondalıklı olarak “98.540” sayısını atadık.
Float veri tipinde olan bu sayıyı, tam sayı değerine dönüştürmek için ilk olarak ikinci yeni bir değişken tanımlaması yaptık.
yenideger adında oluşturduğumuz yeni değişken içerisine tam sayı dönüşüm fonksiyonunu kullanarak içerisine deger değişkenini girdik ve dönüştürülmüş olan yeni değişken değerini ekran çıktısı olarak aldırdık. Ekran çıktısı ise bu şekildedir:
1 | 98 |
Yeni oluşturulmuş tipin, tam sayı değerine dönüştürüldüğünden emin olmak istiyorsak type() fonksiyonu ile kontrolünü gerçekleştirebiliriz.
1 | print(type(yenideger)) |
1 | <class 'int'> |
Ondalıklı sayı veri tipi dönüşümü float()
Değişkene atanmış olan veriyi, ondalıklı sayı değerine dönüştürmek için kullanılır.
int fonksiyonunda kullanıldığı gibi gene aynı şekilde yeni bir değişken içerisine tanımlama yapılarak kullanılır.
1 2 3 | deger=54 yenideger=float(deger) print(yenideger) |
deger değişkeni içerisine girilmiş olan “54” sayısını ondalıklı sayıya dönüştürme yaptığımız zaman çıktısı bu şekilde olacaktır:
1 | 54.0 |
Veri tipini sorgulamak istersek:
1 | print(type(yenideger)) |
1 | <class 'float'> |
Karakter dizisi veri tipi dönüşümü str()
Değişkene atanmış olan veriyi, karakter dizisine dönüştürmek için kullanılır.
tuple veri tipinde bir yapı oluşturalım. İçerisinde çeşitli ders isimleri barındırılmış olsun.
1 2 | deger = ("İleri Programlama", "Yapay Zekaya Giriş", "Mobil Programlama") print(type(deger)) |
Oluşturduğumuz değer değişkeni içerisinde 3 adet veri bulunmakta. Bu değişkenin tipini type() fonksiyonu ile sorgulattığımız zaman bize
1 2 3 | deger = ("İleri Programlama", "Yapay Zekaya Giriş", "Mobil Programlama") yenideger=str(deger) print(yenideger) |
Diğer dönüşüm fonksiyonlarında kullandığımız gibi, yeni bir değişken tanımlaması yaptık ve dönüşüm fonksiyonunu bu değişkene atadık. Ardından yeni dönüşüm yapılmış türün çıktısını aldık.
Bu yeni dönüşen tipimizin tipini öğrenelim.
1 | print(type(yenideger)) |
Çıktı:
1 | <class 'str'> |
tuple veri tipinin doğru bir şekilde str veri tipine dönüştüğünü belirtmekte.
Karakter tipi dönüşümü chr()
Değişkene atanmış olan sayısal veriyi, ondalıklı karakter değerine dönüştürmek için kullanılır.
chr() fonksiyonu, Unicode olan kod verisini; tam sayının karşılığı olan temsili karakteri döndürür.
1 2 3 | harf=84 chrharf=chr(harf) print(chrharf) |
“T” harfinin unicode değeri “84” sayısına tekabül etmektedir. harf değişkeni içerisine “84” saysını yazdıktan sonra bu değeri chr veri tipine dönüştürdüğümüz zaman bize ekran çıktısı olarak “T” harfini verecektir.
1 | T |
Diğer tip dönüşüm fonksiyonları
repr(x)
x değerini bir ifade dizgisine dönüştürür.
eval(str)
Bir dizeyi değerlendirir ve bir nesne döndürür.
tuple(x)
x değerini bir demete dönüştürür.
list(x)
x değerini bir listeye dönüştürür.
set(x)
x değerini bir set türüne dönüştürür.
frozenset(x)
x değerini bir frozenset dönüştürür.
dict(d)
değişken değerini sözlüğe dönüştürür.