%r은 rper() 메소드를 사용하여 객체를 처리합니다.
%s는 str() 메소드를 사용하여 객체를 처리합니다.
str() 함수는 값을 사람이 읽기에 적합한 형식으로 변환하는 데 사용되며, repr( )은 인터프리터가 읽을 수 있는 형식으로 값을 변환하는 데 사용됩니다. (동등한 구문이 없으면 SyntaxError 예외가 발생합니다.) 객체에 사람이 읽을 수 있는 해석 형식이 없으면 str()은 다음을 반환합니다. repr()과 동일한 값입니다. 숫자 값이나 연결 목록, 사전 등의 구조 등 많은 유형은 각 기능에 대해 통일된 해석 방법을 가지고 있습니다.
int 유형 객체를 처리하는 등 두 처리의 결과가 동일한 경우도 있습니다.
예시 1:
print "I am %d years old." % 22 print "I am %s years old." % 22 print "I am %r years old." % 22
반환 결과:
I am 22 years old. I am 22 years old. I am 22 years old.
다른 경우에는 둘이 다릅니다
예시 2:
text = "I am %d years old." % 22 print "I said: %s." % text print "I said: %r." % text
반환 결과:
I said: I am 22 years old.. I said: 'I am 22 years old.'. #%r 给字符串加了单引号
다른 상황 살펴보기
예시 3:
import datetime d = datetime.date.today() print "%s" % d print "%r" % d
반품 결과 :
2017-08-16 datetime.date(2017, 8, 16)
인쇄 시 %r이 자신이 나타내는 객체를 재현할 수 있음을 알 수 있습니다(rper()는 자신이 나타내는 객체를 명확하게 재현합니다)
위 내용은 Python에서 %r과 %s의 사용법 차이 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!