Maison >développement back-end >Tutoriel Python >Comparez les différences d'utilisation entre %r et %s en Python

Comparez les différences d'utilisation entre %r et %s en Python

巴扎黑
巴扎黑original
2017-09-19 11:01:492194parcourir

%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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn