Heim >Backend-Entwicklung >Python-Tutorial >Vergleichen Sie die Nutzungsunterschiede zwischen %r und %s in Python
%r verwendet die rper()-Methode zum Verarbeiten von Objekten
%s verwendet die str()-Methode zum Verarbeiten von Objekten
Die Funktion str() wird zum Konvertieren von Werten verwendet eine für den Menschen lesbare Form. Repr() wandelt es in eine für den Interpreter lesbare Form um (wenn es keine entsprechende Syntax gibt, tritt eine SyntaxError-Ausnahme auf. Wenn ein Objekt keine für den Menschen lesbare Interpretationsform hat, wird str () gibt das Äquivalent des repr()-Werts zurück. Viele Typen, wie zum Beispiel numerische Werte oder Strukturen wie verknüpfte Listen und Wörterbücher, verfügen für jede Funktion über eine einheitliche Interpretationsmethode.
In einigen Fällen sind die Ergebnisse der beiden Prozesse gleich, beispielsweise bei der Verarbeitung von int-Objekten.
Beispiel 1:
print "I am %d years old." % 22 print "I am %s years old." % 22 print "I am %r years old." % 22
Rückgabeergebnis:
I am 22 years old. I am 22 years old. I am 22 years old.
In anderen Fällen sind die beiden unterschiedlich
Beispiel 2:
text = "I am %d years old." % 22 print "I said: %s." % text print "I said: %r." % text
Rückgabeergebnis:
I said: I am 22 years old.. I said: 'I am 22 years old.'. #%r 给字符串加了单引号
Sehen Sie sich eine andere Situation an
Beispiel 3:
import datetime d = datetime.date.today() print "%s" % d print "%r" % d
Rückgabeergebnis:
2017-08-16 datetime.date(2017, 8, 16)
Es ist ersichtlich, dass %r das von ihm dargestellte Objekt beim Drucken reproduzieren kann (rper() erstellt das von ihm dargestellte Objekt eindeutig neu)
Das obige ist der detaillierte Inhalt vonVergleichen Sie die Nutzungsunterschiede zwischen %r und %s in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!