In Python integrierte Funktionen - repr & str
repr & str
repr(object) & str(object)
Variablenwerte sind in Zeichen umgewandelt Zwei Mechanismen für Zeichenfolgen: Das Ziel des ersteren ist die Genauigkeit, das Ziel des letzteren die Lesbarkeit.
repr(object) gibt eine druckbare Zeichenfolge zurück, die das Objekt darstellt.
Dies stimmt mit dem durch die Konvertierung erhaltenen Ergebnis überein (Backtick „).
Als normale Funktion kann dieser Vorgang manchmal verwendet werden, was nützlich ist.
Bei den meisten Typen versucht diese Funktion, eine Zeichenfolge zurückzugeben. Wenn sie an eval() übergeben wird, wird dasselbe Objekt generiert,
(d. h. eval(repr(object)==object.), andernfalls wird ein generiert Eine in spitze Klammern eingeschlossene Zeichenfolge
enthält den Namen des Objekttyps und normalerweise einige zusätzliche Informationen wie Objektname und Objektadresse.
Eine Klasse kann ihre eigene Instanz steuern, indem sie die Memberfunktion __repr__() bezüglich dieser Funktion neu definiert. Rückgabewert.
str(object) gibt einen druckbaren, benutzerfreundlichen String zurück, der das Objekt darstellt. Bei Strings besteht der Unterschied zwischen
und repr(object) darin, dass ) nicht versucht, einen an eval() übergebenen String zurückzugeben.
Das Ziel besteht darin, eine druckbare Zeichenfolge zurückzugeben.
Wenn keine Parameter angegeben werden, wird eine leere Zeichenfolge zurückgegeben (dasselbe gilt für Klassen, deren Verhalten über _. _str__()-Mitglieder gesteuert wird) >>> print repr("hello world!")
'hello world!'
>>> print repr(10000L)
10000L
>>> print str("hello world!")
hello world!
>>> print str(10000L)
10000
>>> temp = 42
>>> print "the temperature is "+temp
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
print "the temperature is "+temp
TypeError: cannot concatenate 'str' and 'int' objects
>>> print "the temperature is "+ `temp`
the temperature is 42
>>> print "the temperature is " + repr(temp)
the temperature is 42