Python Veri Yapıları: Tip Dönüşümü
Bu makalede, tür dönüştürme ve tür dönüştürmenin kullanımları hakkında bilgi edineceksiniz.
Python’da tip dönüşümlerini öğrenmeden önce Python veri türleri hakkında bilgi sahibi olmalısınız .
Tür Dönüştürme
Bir veri türünün (tamsayı, dize, ondalıklı sayı vb.) değerini başka bir veri türüne dönüştürme işlemine tür dönüştürme denir. Python’un iki çeşit tür dönüşümü vardır.
- Örtülü Tür Dönüşümü
- Açık Tip Dönüşüm
Örtülü Tür Dönüşümü
Örtülü tür dönüştürmede Python, bir veri türünü otomatik olarak başka bir veri türüne dönüştürür. Bu işlem herhangi bir kullanıcı işlemine ihtiyaç duymaz.
Python’un veri kaybını önlemek için düşük veri türünün (tamsayı) daha yüksek veri türüne (ondalıklı sayı) dönüştürülmesini desteklediği bir örnek görelim.
Örnek 1: Tamsayıyı kayan sayıya dönüştürme
1 2 3 4 5 6 7 8 9 10 | num_tam_sayi = 123 num_ondalikli = 1.23 yeni_sayi = num_tam_sayi + num_ondalikli print("num_tam_sayi veri türü:",type(num_tam_sayi)) print("num_ondalikli veri türü:",type(num_ondalikli)) print("yeni_sayi değeri:",yeni_sayi ) print("yeni_sayi veri türü:",type(yeni_sayi )) |
Yukarıdaki programı çalıştırdığımızda çıktısı şu şekilde olacaktır:
1 2 3 4 5 | <samp>num_tam_sayi veri türü: <class 'int'> num_ondalikli veri türü: <class 'float'> yeni_sayi değeri: 124.23 yeni_sayi veri türü: <class 'float'></samp> |
Şimdi bir dize ve bir tamsayı eklemeyi deneyelim ve Python’un bununla nasıl başa çıktığını görelim.
Örnek 2: string(yüksek) veri tipi ve tamsayı(alt) veri tipinin eklenmesi
1 2 3 4 5 6 7 | num_tam_sayi = 123 num_dize = "456" print("num_tam_sayi veri türü:",type(num_tam_sayi)) print("num_dize veri türü:",type(num_dize)) print(num_tam_sayi + num_dize) |
Yukarıdaki programı çalıştırdığımızda çıktısı şu şekilde olacaktır:
1 2 3 4 5 6 | <samp>num_tam_sayi veri türü: <class 'int'> num_dize veri türü: <class 'str'> Geri izleme (en son arama son): Dosya "python", satır 7, <module> içinde TypeError: + için desteklenmeyen işlenen türleri: 'int' ve 'str'</samp> |
Açık Tip Dönüşüm
Açık Tür Dönüşümünde, kullanıcılar bir nesnenin veri türünü gerekli veri türüne dönüştürür. Açık tür dönüştürme gerçekleştirmek için int(), float(), str() vb gibi önceden tanımlanmış işlevleri kullanırız .
Kullanıcı nesnelerin veri türünü yayınladığı (değiştirdiği) için bu tür dönüştürmeye typecasting de denir.
sözdizimi:
1 | <required_datatype>(ifade) |
Tip tahmini, ifadeye gerekli veri tipi işlevi atanarak yapılabilir.
Örnek 3: Açık dönüştürme kullanılarak dize ve tamsayı eklenmesi
1 2 3 4 5 6 7 8 9 10 11 12 13 | num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str before Type Casting:",type(num_str)) num_str = int(num_str) print("Data type of num_str after Type Casting:",type(num_str)) num_sum = num_int + num_str print("Sum of num_int and num_str:",num_sum) print("Data type of the sum:",type(num_sum)) |
Yukarıdaki programı çalıştırdığımızda çıktısı şu şekilde olacaktır:
1 2 3 4 5 6 7 | <samp>num_int veri türü: <class 'int'> Tür Dökümünden önceki num_str veri türü: <class 'str'> Type Casting'den sonra num_str veri türü: <class 'int'> num_int ve num_str toplamı: 579 Toplamın veri türü: <class 'int'></samp> |
Hatırlanması Gereken Önemli Noktalar
- Tür Dönüştürme, nesnenin bir veri türünden başka bir veri türüne dönüştürülmesidir.
- Örtülü Tür Dönüşümü, Python yorumlayıcısı tarafından otomatik olarak gerçekleştirilir.
- Python, Örtülü Tür Dönüşümünde veri kaybını önler.
- Açık Tip Dönüştürme, Tip Dökümü olarak da adlandırılır, nesnelerin veri tipleri, kullanıcı tarafından önceden tanımlanmış fonksiyonlar kullanılarak dönüştürülür.
- Açık Tip Dönüştürme’de, nesneyi belirli bir veri türüne zorladığımızda veri kaybı meydana gelebilir.