Yanıtlar:
>>> str(10)
'10'
>>> int('10')
10
Belgelere bağlantılar:
Bir dizgeye dönüştürme str()
, temel __str__()
olarak parametresinin yöntemini çağıran yerleşik işlevle yapılır .
Bunu dene:
str(i)
Python'da typecast ve tip baskısı yoktur. Değişkeninizi açık bir şekilde dönüştürmeniz gerekir.
Dizedeki bir nesneyi dönüştürmek için str()
işlevi kullanırsınız . __str__()
Tanımlanmış adlı bir yöntemi olan herhangi bir nesne ile çalışır . Aslında
str(a)
eşittir
a.__str__()
Bir şeyi int, float vb.
>>> i = 5
>>> print "Hello, world the number is " + i
TypeError: must be str, not int
>>> s = str(i)
>>> print "Hello, world the number is " + s
Hello, world the number is 5
Python 3.6 için dizeye dönüştürmek için f-dizeleri yeni özelliğini kullanabilirsiniz ve str () işlevine kıyasla daha hızlıdır, şöyle kullanılır:
age = 45
strAge = f'{age}'
Python bu nedenle str () işlevini sağlar.
digit = 10
print(type(digit)) # will show <class 'int'>
convertedDigit= str(digit)
print(type(convertedDigit)) # will show <class 'str'>
Daha ayrıntılı yanıt için bu makaleyi denetleyebilirsiniz : Python Int dizesini ve Python dizesini Int biçimine dönüştürme
Bence en iyi yol ``.
i = 32 --> `i` == '32'
repr(i)
yüzden uzun süre tuhaf olacaktır. (Dene i = `2 ** 32`; print i
)
Python 3.6'da f-dizelerinin tanıtılmasıyla, bu da işe yarayacak:
f'{10}' == '10'
Aslında str()
, okunabilirlik pahasına, aramaktan daha hızlıdır .
Aslında, %x
dize biçimlendirmesinden daha hızlı ve .format()
!