Python'da Tip Dönüştürme ve Tip Döküm Örneklerle Açıklanıyor
Yayınlanan: 2020-02-19Python'un birçok veri türü vardır ve bir programcı olarak bir veri türünü Python'a nasıl dönüştüreceğinizi bilmelisiniz. Python'un bu görev için birçok yerleşik işlevi vardır. Ve bu basit kılavuzda, tür dönüşümlerini daha iyi anlamanıza yardımcı olmak için bunlara göz atacağız.
Bu kılavuzu bitirdikten sonra, dizeleri tamsayılara nasıl dönüştüreceğinizi ve bunun tersini bileceksiniz. O halde lafı fazla uzatmadan başlayalım.
İçindekiler
Python'da Veri Türleri
Python'da tür dönüştürme konusundaki tartışmamıza başlamadan önce, bu dilde mevcut olan tüm veri türlerine kısaca bir göz atalım:
tamsayılar
Tamsayı değerleri istediğiniz kadar uzun olabilir. Matematikte olduğu gibi Python'da da tamsayılar rakamdır. Ancak bir süper bilgisayarınız olmadıkça süresiz uzunlukta tam sayılara sahip olamazsınız. Python, ön eki olmayan herhangi bir sayıyı tamsayı olarak kabul eder. Bu sayılar ondalık basamakları da içerir.
Kayan nokta sayıları
Python'da kayan noktalar, kesirli basamakları ve tamsayıyı ayırmak için ondalık nokta ile yazılan sayılardır. Kayan noktalı sayıların bazı örnekleri 4.3, 9.18 vb.'dir. Python'daki bilimsel gösterim için de 'e' ekleyebilirsiniz.
Karışık sayılar
Python'daki karmaşık sayılar şu biçimi takip eder: (gerçek kısım + sanal kısım). Karmaşık sayılara bazı örnekler (3+2i), (8-2x), vb.
Teller
Dizeler, Python'da herhangi bir belirli karakter kümesi olabilir. str olarak anılırlar. Bunları tırnak işaretleri kullanarak yazabilirsiniz. Python'da dize yazmak için tek tırnak ve çift tırnak kullanabilirsiniz. Dizeler, '91', "merhaba" vb. gibi tırnak işaretleri içine alınmış herhangi bir karakter olabilir.
Tıpkı tamsayılar gibi, karakter dizilerinde de karakter uzunluğu sınırı yoktur. Dizeler, üç tırnaklı dizeler, ham dizeler ve diğerleri gibi çeşitli türlerdedir. Ancak, dizileri ve türlerini tartışmaya başlarsak, bu makale çok uzamış olacaktır.
Boole Veri Türü
Tartışmak için bıraktığımız son veri türü Boolean veri türüdür. Boolean verileri, doğru ve yanlış olan iki değerden birine sahip olabilir. Boole değerleri Python'da birçok nedenden dolayı oldukça önemlidir. Nesnelerin ve değerlerin doğruluğunu belirlemek için Boole değerlerini kullanabilirsiniz.
Okuyun: Hindistan'da Python Geliştirici Maaşı 2020
Python'da mantıksal operatörler hakkında daha fazla şey öğreneceğiniz için Boolean nesneleri ve değerleri ile uğraşmanız gerekecek.
Yani bunların hepsi Python'da bulunan veri türleriydi. Python'daki veri türleri hakkında daha fazla bilgi edinin. Bu veri türlerinin yanı sıra, Python'un çeşitli görevleri yerine getirmesine yardımcı olan birçok yerleşik işlevi de vardır. Tür dönüştürmeyi de uygulamak için birkaç yerleşik işlevi kullanmamız gerekecek. Çeşitli dönüşüm türleri hakkında bilgi edinmek için veri bilimi programlarımıza göz atın.
Artık veri türlerini tartıştığımıza göre, tür dönüştürmeye geçebiliriz.
Python'da Farklı Tür Dönüşümleri
Python'da iki tür tür dönüştürme vardır. Bunlar aşağıdaki gibidir:
örtük
Bu durumda Python, bir veri türünü otomatik olarak başka bir türe dönüştürür. Siz, kullanıcı, bu sürece dahil olmak zorunda değilsiniz. Python'da tamsayıyı float'a örtük olarak dönüştürmenin bir örneği:
sayı_int = 18
sayı_flo = 1.8
num_new = num_int + num_flo
print(“num_int veri türü:”,type(num_int))
print(“num_flo veri türü:”,type(num_flo))
print(“num_new değeri:”,num_new)
print(“sayı_yeni veri türü:”,tür(sayı_yeni))
Yukarıdaki kodun çıktısı aşağıdaki gibi olacaktır:
num_int veri türü: <class 'int'>
num_flo veri türü: <class 'float'>
num_new değeri: 19.8
num_new veri türü: <class 'float'>
Gördüğünüz gibi, istenen çıktıyı elde etmek için num_new ile birlikte sadece num_flo ve num_int eklemek zorunda kaldık. 18 tamsayısını birkaç satır kod aracılığıyla 19.8 şamandırasına dönüştürdük. Burada dikkat edilmesi gereken en önemli şey, Python'un tamsayıyı otomatik olarak şamandıraya çevirmesidir.
Açık
Açık tür dönüştürme durumunda, dönüştürme amacıyla işlevleri kullanırız. Daha önce bahsettiğimiz yerleşik işlevleri hatırlıyor musunuz? Bu bölümde işe yarayacaklar. Açık tür dönüşümlerinin başka bir adı da typecasting'dir. Bu ada sahiptir çünkü siz, kullanıcı, ilgili nesnenin veri türünü yayınlar.

Python'da typecasting yapmak için aşina olmanız gereken bazı tip dönüştürme işlevleri vardır. Int(a,base), herhangi bir veri türünü bir tam sayıya dönüştürebildiği için popüler bir işlevdir. float(), herhangi bir veri türünü kayan noktalı sayıya dönüştürebilir. oct() tamsayıları sekizlik dizgelere, hex() ise tamsayıları onaltılık dizgelere dönüştürür.
Oct() kullanarak bir tür dönüştürme örneği:
c = ekim(80)
yazdır (“Çıktı: “,end="”)
yazdır (c)
Ve çıktı şöyle olurdu:
Çıkış : 0o120
Bu işlevlerle çalışırken, bu tür dönüştürme sözdiziminin şöyle olması gerektiğini unutmayın:
(istenen_veri türü)(ifade)
Python'da gerçekleştirebileceğiniz birçok tür dönüştürme türü vardır. Ancak, en çok gerçekleştireceğiniz iki tür vardır. Dizeleri tam sayılara veya tam sayılara dönüştürmek harika bir başlangıç noktası olabilir. Bu konuyu daha iyi anlamak için bu tür dönüşümlerin her birini ayrı ayrı tartışalım:
Okuyun: Python Geliştirici Proje Fikirleri ve Konuları
String'i int Python'a dönüştürme
int() işlevi aracılığıyla bir dizeyi int Python'a dönüştürebilirsiniz. Sadece bir tıklama ile size ondalık bir tamsayı verir. Girdiğiniz ifadenin bir ondalık tamsayı olduğunu varsayar, ancak değilse, bir ValueError döndürür. Ve biz bunu istemiyoruz. Bu sorunu yaşamamak için ihtiyacınız olan sayı sisteminden değeri baz alarak belirtebilirsiniz.
Bu nedenle, Python'da bir dizgiyi int'ye dönüştürüyorsanız, şunu yapabilirsiniz:
int(“5”)
Veya farklı türde dizeler için bir taban ekleyebilirsiniz:
int(“5” , taban=10)
Şimdi bu dönüşümün tersini tartışalım, yani bir tamsayıyı bir dizgeye dönüştürmeniz gerektiğinde.
int'yi String Python'a dönüştürme
Tam sayıları dizgelere dönüştürmek için str() işlevini kullanabilirsiniz. Sadece daha önce bahsettiğimiz sözdizimini takip edin:
str(5)
İkili bir hazır bilgi kullanıyorsanız, dizeler tam sayıları ondalık ifadelere dönüştürebilir. Ancak, int işlevinde olduğu gibi, gerekirse farklı dönüşümler için daha fazla bilgi ekleyebilirsiniz. Bu fonksiyon ile sekizli, ikili ve hatta onaltılı sonuçlar elde edebilirsiniz.
Biraz alıştırma yaptıktan sonra, tür dönüştürme ile daha karmaşık görevleri de gerçekleştirebilirsiniz. İşte typecasting yoluyla bir tamsayı içeren bir dize eklemeye bir örnek:
sayı_int = 256
num_str = “64”
print(“num_int veri türü:”,type(num_int))
print(“Tür Dökümünden önceki num_str veri türü:”,type(num_str))
say_str = int(sayı_str)
print(“Tür Dökümünden sonra num_str veri türü:”,type(num_str))
sayı_toplam = sayı_int + sayı_str
print(“num_int ve num_str:”,num_sum)
print(“Toplamın veri türü:”,type(num_sum))
Yukarıdaki kodun çıktısı şu şekilde olacaktır:
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ı: 320
Toplamın veri türü: <class 'int'>
Gördüğünüz gibi, çok eğlenceli. Tür dönüşümlerini denemekten ve bilgi tabanınızı genişletmekten çekinmeyin.
Çözüm
Umarız bu makaleden çok şey öğrenmişsinizdir. Python'un işlevleriyle yapabileceğiniz pek çok şeyden biri tür dönüştürmeleri yapmaktır.
Bu makaleyi okuyorsanız, büyük olasılıkla bir Python geliştiricisi olma hedefiniz var. Python öğrenmekle ilgileniyorsanız ve çeşitli araçlar ve kütüphaneler konusunda ellerinizi kirletmek istiyorsanız, IIIT-B'nin Veri Biliminde PG Diplomasına göz atın.
Kodlamada, açık dönüştürmelerin örtük dönüştürmelerden farkı nedir?
Bir örtük tür dönüştürme, kullanıcı tarafından tanımlanan ve bir ifadeyi belirli bir türde olmaya zorlayan bir tür dönüştürmesidir. Bir ifadede birkaç veri türü bir araya getirildiğinde, derleyici örtük bir tür dönüşümü gerçekleştirir. Döküm olarak da bilinen açık dönüştürme, dönüştürmek istediğimiz veri türü için uygun işlevi yürüterek bir veri türünden diğerine açıkça dönüştürmemizdir. Programcının yardımı olmadan, örtük bir tür dönüştürme gerçekleştirilir.
Tip dökümü, tip dönüştürmeden nasıl farklıdır?
Tür, bir veri türünü diğerine aktarırken, hedef veri türü kaynak veri türünden daha küçük olmalıdır. Ancak, bir veri türünü diğerine dönüştürürken kaynak verinin hedef veri türünden daha küçük olması gerekir. Bir programcı, bir tür veriyi başka bir türe manuel olarak yazmalıdır. Bir veri türünü diğerine dönüştürmek, herhangi bir programcı müdahalesini gerektirmez, çünkü derleyici program yürütme sırasında onu otomatik olarak derler. Tip dökümü sırasında veri veya bilgilerin kaybolma olasılığı vardır. Küçük bir veri türünü büyük bir veri türüne dönüştürürken, verilerin kaybolması pek olası değildir.
Python demetlerinde veya listelerinde hangisi daha verimlidir?
Bir demet, Python nesnelerinin virgülle ayrılmış bir koleksiyonudur ve statik doğası nedeniyle, demet listeden daha hızlıdır. Tuple'lar ayrıca bellek açısından listelerden daha verimlidir. Zaman verimliliği söz konusu olduğunda, demetlerin, özellikle de bir değere bakmak söz konusu olduğunda, listelere göre küçük bir üstünlüğü vardır. İlk etapta değiştirilmemesi gereken verileriniz varsa, bir liste yerine bir demet veri türü tercih edilmelidir. Bir demet listesi yapabiliriz, bu, demetin üyelerinin bir listeye sarılabileceği ve dolayısıyla bir Python listesiyle aynı özellikleri takip edebileceği anlamına gelir. Python Tuple'ları daha az yer kapladığından, bir tuple listesi oluşturmak daha pratiktir.