Antworten:
>>> str(10)
'10'
>>> int('10')
10
Links zur Dokumentation:
Die Konvertierung in einen String erfolgt mit der eingebauten str()
Funktion, die im Grunde die __str__()
Methode ihres Parameters aufruft .
Versuche dies:
str(i)
In Python gibt es keine Typumwandlung und keinen Typenzwang. Sie müssen Ihre Variable explizit konvertieren.
Um ein Objekt in einen String zu konvertieren, verwenden Sie die str()
Funktion. Es funktioniert mit jedem Objekt, dessen Methode __str__()
definiert ist. Eigentlich
str(a)
ist äquivalent zu
a.__str__()
Das gleiche gilt, wenn Sie etwas in int, float usw. konvertieren möchten.
>>> 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
Für Python 3.6 können Sie die neue Funktion f-strings zum Konvertieren in einen String verwenden. Sie ist schneller als die Funktion str () und wird folgendermaßen verwendet:
age = 45
strAge = f'{age}'
Python bietet aus diesem Grund die Funktion str ().
digit = 10
print(type(digit)) # will show <class 'int'>
convertedDigit= str(digit)
print(type(convertedDigit)) # will show <class 'str'>
Eine ausführlichere Antwort finden Sie in diesem Artikel: Konvertieren von Python Int in String und Python String in Int
Der anständigste Weg ist meiner Meinung nach ``.
i = 32 --> `i` == '32'
repr(i)
, so dass es für lange Zeit seltsam sein wird. (Versuchen Sie i = `2 ** 32`; print i
)
Für jemanden, der int in einen String mit bestimmten Ziffern konvertieren möchte, wird die folgende Methode empfohlen.
month = "{0:04d}".format(localtime[1])
Weitere Informationen finden Sie unter Stapelüberlauffrage Anzeigenummer mit führenden Nullen .
Mit der Einführung von F-Strings in Python 3.6 funktioniert dies auch:
f'{10}' == '10'
Es ist tatsächlich schneller als ein Anruf str()
, auf Kosten der Lesbarkeit.
In der Tat ist es schneller als die %x
Formatierung von Zeichenfolgen und .format()
!