Modern programlamada birçok kez değişkenlerde tür dönüşümüne ihtiyaç duyulur. Örneğin string türündeki sayılarla (“5” veya “2” gibi) matematiksel işlem yapmamız gerektiğinde tür dönüşümü yapmamız gerekir. Aslında bahsettiğimiz tam olarak tür dönüşümü değildir, sadece bir değişkenin değişik türdeki hâlinin başka bir değişkene atanmasıdır.
Aşağıdaki örneği inceleyelim.
1 2 3 4 5 6 7 | x="5" y=int("5") print(x*2)# Ekranda 55 yazar print(y*2)# Ekranda 10 yazar |
Ekran Çıktısı:
55
10
Python’ da Casting (tür dönüşümü) işlemi aşağıdaki fonksiyonlar kullanılarak yapılır.
int() , float() , str()
Aşağıdaki örnekleri ve ekran çıktılarını inceleyelim.
1 2 3 4 5 | x = int(1) # x 1 olacak. y = int(2.8) # y 2 olacak. z = int("3") # z 3 olacak. |
yukarıdaki örnekte;
x değişkeninin int türünde olan 1 değeri yine int türünde 1 olacaktır.
y değişkeni float türünden değer int türüne dönüştürülerek 2 olacaktır.
z değişkeni string türü “3” int türüne dönüştürülecek ve 3 olacaktır.
Şimdi de float tür dönüşümü örneğini inceleyelim.
1 2 3 4 5 6 | x = float(1) # x 1.0 olacaktır. y = float(2.8) # y 2.8 olacaktır. z = float("3") # z 3.0 olacaktır. w = float("4.2") # w 4.2 olacaktır. |
Yukarıdaki örnekte de bir üstteki int örneği gibi çalışmaktadır. Sadece bir konuyu belirtelim. int (tamsayı) türünde olan x değişkeni ondalıklı sayıya çevrilerek 1.0 değeri almıştır.
Dönüşümler sadece sayısal türde gerçekleşmez. Bazı durumlarda sayı türlerini metin türüne dönüştürmekte gerekebilir.
1 2 3 4 5 | x = str("s1") # x 's1' olacak. y = str(2) # y '2' olacak z = str(3.0) # z '3.0' olacak. |
Burada ‘2‘ ve ‘3‘ olacak ifadelerinde tırnak işareti kullanıldığına dikkat edelim. Bu değerler metin türüne dönüştürülmüştür.
En üstteki örnekte metin türünde olan bir değişken üzerinde bir işlem gerçekleştiğinde nasıl bir sonuç gerçekleştiğini göstermiştik.
[…] Python Veri Tipi Dönüşümleri (Casting) […]
İki tane python online kurs almama rağmeden yazılı çalışmadan olmuyor. Bu sebeple emekleriniz için çok teşekkür ederim, şimdi izleyeceğim Python videolarını daha net anlayacağım.