Ekran okuyucuyla python kodlama#6: Tür dönüşümleri
Python programlama dilinde diğer yazılım dillerinde olduğu üzere veritürlerini birbirlerine çevirebilirsiniz. Bu işlemi yapmak için hangi türden çevirme yapacağınızı doğru şekilde kurgulayıp aşağıdaki yapıyı kullanabilirsiniz. Peki, bu çevirme nasıl gerçekleşiyor bir bakalım.
<code class="sourceCode python"> <span class="co">#-*-coding:utf-8-*-</span> veri1 <span class="op">=</span> <span class="st">"20"</span> veri2 <span class="op">=</span> <span class="dv">5</span> <span class="co">#print(veri1 + veri2)</span> <span class="co">#Bu komut string ile int türünün birleştirilemeyeceği hatası verecektir. Peki çözümü nasıl olacak?</span> <span class="co">#veri1 değişkeni int(veri1) şeklinde tür dönüşümüne uğratabilirsiniz.</span> <span class="bu">print</span>(<span class="bu">int</span>(veri1) <span class="op">+</span> veri2) <span class="co">#Yukarıdaki string ifadesi int() kullanımıyla integer türüne çevirilmiş oldu.</span></code>
String türünden integer türüne dönüşüm
Önceki örneğimizdede gösterdiğim üzere string ifadelerinden integer ifadelerine çevirmek için int() yapısını kullanıyorduk. Dilerseniz, örneklerimizi vermeye devam edelim ve kullanıcıdan iki sayı alıp bunlarla işlemler yapalım.
<code class="sourceCode python">s1 <span class="op">=</span> <span class="bu">input</span>(<span class="st">"Birinci sayıyı girin:"</span>) s2 <span class="op">=</span> <span class="bu">input</span>(<span class="st">"İkinci sayıyı girin:"</span>) <span class="bu">print</span>(<span class="ss">f"</span><span class="sc">{s1}</span><span class="ss"> ile </span><span class="sc">{s2}</span><span class="ss"> toplamı </span><span class="sc">{</span><span class="bu">int</span>(s1)<span class="op">+</span><span class="bu">int</span>(s2)<span class="sc">}</span><span class="ss">"</span>)</code>
String türüne dönüşüm
Herhangi bir veri türünü string dönüşümüne uğratmak için str() yapısını kullanabiliriz. Örnek aşağıda sizlerle.
<code class="sourceCode python"><span class="co">#-*-coding:utf-8-*-</span> day <span class="op">=</span> <span class="dv">7</span> month <span class="op">=</span> <span class="dv">3</span> year <span class="op">=</span> <span class="dv">2022</span> <span class="co">#Yukarıdaki gün, ay ve yıl değişkenlerini string formatına çevirerek print içerisine ekliyoruz.</span> <span class="bu">print</span>(<span class="ss">f"Şu anki tarih bilgisi : </span><span class="sc">{</span><span class="bu">str</span>(day)<span class="sc">}</span><span class="ss">.</span><span class="sc">{</span><span class="bu">str</span>(month)<span class="sc">}</span><span class="ss">.</span><span class="sc">{</span><span class="bu">str</span>(year)<span class="sc">}</span><span class="ss">"</span>)</code>
Bool türüne dönüşüm
Özellikle sayı türündeki verileri boolean türüne dönüştürmek mümkündür. Aşağıda paylaştığım örneğe baktığınızda göreceğiniz gibi içerisinde 1 sayısı olan değişken türü boolean türünde true sonucunu üretecektir. Tam tersi 0 verirsek eğer oda false sonucunu üretecektir. Bununla birlikte içerisinde veri olan ve olmayan string türündeki değişkenlerde bool türünde true veya false üretebilir.
<code class="sourceCode python"><span class="co">#-*-coding:utf-8-*-</span> number <span class="op">=</span> <span class="dv">1</span> <span class="bu">print</span>(<span class="bu">bool</span>(number))<span class="co"># True sonucunu döndürür</span> metin <span class="op">=</span><span class="st">""</span> <span class="bu">print</span>(<span class="bu">bool</span>(metin))<span class="co">#Bu seferde içerisinde herhangi bir veri olmayan string türündeki değişkenimiz bool türünde false üretiyor. </span></code>
Float türüne dönüşüm
Float kayan noktalı sayı anlamına gelen bir veritürüdür. Bu türe dönüşümü gerçekleştirmek için float() yapısını kullanabilirsiniz. Örnek geliyor.
–-coding:utf-8-–
<code class="sourceCode python"> number <span class="op">=</span> <span class="dv">4</span> <span class="bu">print</span>(<span class="bu">float</span>(<span class="dv">4</span>))<span class="co">#Integer türünden kayan noktalı sayı türü olan float tipine çevirince 4.0 çıktısı elde ediliyor.</span> </code>