Odpowiedzi:
>>> str(10)
'10'
>>> int('10')
10
Linki do dokumentacji:
Konwersja na łańcuch odbywa się za pomocą wbudowanej str()
funkcji, która w zasadzie wywołuje __str__()
metodę swojego parametru.
Spróbuj tego:
str(i)
W Pythonie nie ma typowania rzutów ani przymusu typu. Musisz skonwertować zmienną w sposób jawny.
Aby przekonwertować obiekt na ciąg znaków, użyj str()
funkcji. Działa z każdym obiektem, który ma __str__()
zdefiniowaną metodę o nazwie . w rzeczywistości
str(a)
jest równa
a.__str__()
To samo, jeśli chcesz przekonwertować coś na int, float itp.
>>> 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
W Pythonie 3.6 możesz użyć nowej funkcji f-strings, aby przekonwertować na string, i jest szybszy w porównaniu do funkcji str (), jest on używany w następujący sposób:
age = 45
strAge = f'{age}'
Z tego powodu Python udostępnia funkcję str ().
digit = 10
print(type(digit)) # will show <class 'int'>
convertedDigit= str(digit)
print(type(convertedDigit)) # will show <class 'str'>
Aby uzyskać bardziej szczegółową odpowiedź, możesz sprawdzić ten artykuł: Konwertowanie Python Int na String i Python String na Int
Moim zdaniem najbardziej przyzwoity sposób to ``.
i = 32 --> `i` == '32'
repr(i)
, więc będzie dziwne na długo. (Spróbuj i = `2 ** 32`; print i
)
Dla kogoś, kto chce przekonwertować int na ciąg znaków w określonych cyfrach, zalecana jest poniższa metoda.
month = "{0:04d}".format(localtime[1])
Aby uzyskać więcej informacji, zapoznaj się z pytaniem Przepełnienie stosu Wyświetl numer z wiodącymi zerami .
Wraz z wprowadzeniem ciągów f w Pythonie 3.6 to zadziała również:
f'{10}' == '10'
Jest to w rzeczywistości szybsze niż dzwonienie str()
, kosztem czytelności.
W rzeczywistości jest szybszy niż %x
formatowanie ciągów i .format()
!