it-swarm.com.de

Ganzzahl in String konvertieren?

Ich möchte eine Ganzzahl in eine Zeichenfolge in Python konvertieren. Ich schreibe es vergebens:

d = 15
d.str()

Wenn ich versuche, es in einen String umzuwandeln, wird ein Fehler angezeigt, wie int hat kein Attribut mit dem Namen str.

1246
Hick
>>> str(10)
'10'
>>> int('10')
10

Links zur Dokumentation:

Die Konvertierung in einen String erfolgt mit der integrierten Funktion str(), die im Grunde die Methode __str__() ihres Parameters aufruft.

1928

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 umzuwandeln, verwenden Sie die Funktion str(). Es funktioniert mit jedem Objekt, für das eine Methode namens __str__() definiert ist. Eigentlich

str(a)

ist äquivalent zu

a.__str__()

Das gleiche gilt, wenn Sie etwas in int, float usw. konvertieren möchten.

54
Andrea Ambu

So verwalten Sie nicht ganzzahlige Eingaben:

number = raw_input()
try:
    value = int(number)
except ValueError:
    value = 0
17
nik
>>> 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
14
maxaposteriori

In Python => 3.6 können Sie f Formatierung verwenden:

>>> int_value = 10
>>> f'{int_value}'
'10'
>>>
10
SuperNova

Der angemessenste Weg ist meiner Meinung nach ``.

i = 32   -->    `i` == '32'
6
Nikolas

Für jemanden, der int in eine Zeichenfolge mit bestimmten Ziffern konvertieren möchte, wird die folgende Methode empfohlen.

month = "{0:04d}".format(localtime[1])

Weitere Informationen finden Sie unter Frage zum Stapelüberlauf Nummer mit führenden Nullen anzeigen.

5
Gearon

Kann %s oder .format verwenden

>>> "%s" % 10
'10'
>>>

(ODER)

>>> '{}'.format(10)
'10'
>>>
5
SuperNova

Mit der Einführung von f-Strings in Python 3.6 wird dies auch funktionieren:

f'{10}' == '10'

Es ist tatsächlich schneller als der Aufruf von str(), auf Kosten der Lesbarkeit.

Tatsächlich ist es schneller als die String-Formatierung %x und .format()!

2
Alec Alameddine

Für Python 3.6 können Sie die neue Funktion f-strings verwenden, um in eine Zeichenfolge zu konvertieren. Sie ist im Vergleich zur Funktion str () schneller 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'>

Für detailliertere Antworten können Sie diesen Artikel lesen: Konvertieren von Python Int in String und Python String in Int

1