Page 12 - Bilgisayar Bilimi Kur 1| 2. Bölüm
P. 12
>>> str("Python")
"Python"
Tahmin edilebileceği gibi, bir programcı için bu dönüşümü yapmaya çoğunlukla gerek yoktur. Bu
nedenle str ve int fonksiyonlarının kullanımı, değişkenler kullanılmadıkça çok anlamlı olmayacaktır.
Herhangi bir tam sayı, dizi olarak ifade edilebilir, ancak her dizi bir tam sayı olarak ifade edilemez.
>>> str(1024)
"1024"
>>> int("sus")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: "sus"
>>> int("3.4")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: "3.4
Görüldüğü gibi ne sus ne de 3.4, Python için geçerli bir tam sayıdır. Özetlemek gerekirse eğer dizi
içerisinde sayısal ifade varsa int fonksiyonu kullanılarak bu, kolayca tam sayıya çevrilir. Bu arada topla-
ma amacıyla kullanılan + sembolü diziler için farklı biçimde çalışır.
>>> 5 + 10
15
>>> "5" + "10"
"510"
>>> "abc" + "xyz"
"abcxyz"
Görüldüğü gibi sayı değerleri için toplama işlemi yapan + sembolü, diziler için birleştirme işlemi
gerçekleştirir. Bu iki farklı tanımı aynı satırda bulundurmak hataya neden olur.
>>> "5" + 10
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can"t convert "int" object to str implicitly
>>> 5 + "10"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: "int" and "str"
Ancak int ve str fonksiyonları ile desteklenirse doğru sonuca ulaşılır.
>>> 5 + int("10")
118