Maison >développement back-end >Tutoriel Python >Comparez les différences d'utilisation entre %r et %s en Python
%r utilise la méthode rper() pour traiter les objets
%s utilise la méthode str() pour traiter les objets
La fonction str() est utilisée pour convertir les valeurs en une forme adaptée à la lecture humaine. Repr() le convertit en une forme que l'interprète peut lire (s'il n'y a pas de syntaxe équivalente, une exception SyntaxError se produira si un objet n'a pas de forme d'interprétation adaptée à la lecture humaine, str). () renverra l'équivalent de la valeur repr(). De nombreux types, tels que les valeurs numériques ou les structures telles que les listes chaînées et les dictionnaires, ont une méthode d'interprétation unifiée pour chaque fonction.
Dans certains cas, les résultats des deux processus sont les mêmes, comme le traitement d'objets int.
Exemple 1 :
print "I am %d years old." % 22 print "I am %s years old." % 22 print "I am %r years old." % 22
Résultat renvoyé :
I am 22 years old. I am 22 years old. I am 22 years old.
Dans d'autres cas, les deux sont différents
Exemple 2 :
text = "I am %d years old." % 22 print "I said: %s." % text print "I said: %r." % text
Résultat du retour :
I said: I am 22 years old.. I said: 'I am 22 years old.'. #%r 给字符串加了单引号
Regardez une autre situation
Exemple 3 :
import datetime d = datetime.date.today() print "%s" % d print "%r" % d
Résultat du retour :
2017-08-16 datetime.date(2017, 8, 16)
On voit que %r peut reproduire l'objet qu'il représente lors de l'impression (rper() recrée sans ambiguïté l'objet qu'il représente)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!