programing

파이썬에서 %s 대신 %r을 사용할 때는 언제입니까?

stoneblock 2023. 7. 3. 22:31

파이썬에서 %s 대신 %r을 사용할 때는 언제입니까?

Learn Python the Hard Way 페이지 21에서 다음 코드 예제를 봅니다.

x = "There are %d types of people." % 10
...
print "I said: %r." % x

왜?%r대신 여기서 사용됨%s은 언제 사제용시습까니겠하언?를 사용합니까?%r그리고 언제 사용하시겠습니까?%s?

%s지정자는 , 및 를 사용하여 객체를 변환합니다.%r를 사용하여 변환합니다.

정수와 같은 일부 개체의 경우 동일한 결과를 생성하지만 (이 가능한 유형의 경우) 일반적으로 유효한 Python 구문을 반환한다는 점에서 특별하며, 이는 표현하는 개체를 명확하게 재생성하는 데 사용될 수 있습니다.

다음은 날짜를 사용한 예제입니다.

>>> import datetime
>>> d = datetime.date.today()
>>> str(d)
'2011-05-14'
>>> repr(d)
'datetime.date(2011, 5, 14)'

Python 구문을 생성하지 않는 유형에는 다음과 같은 외부 리소스를 가리키는 유형이 포함됩니다.file다른 맥락에서 재현할 수 없다고 장담할 수 없습니다.

을 합니다.%r디버깅을 위해 변수의 "원시" 데이터를 표시하지만 다른 데이터는 사용자에게 표시하는 데 사용됩니다.

그런 식으로%r형식 지정이 가능합니다. 사용자가 작성한 방식(또는 그에 가까운 방식)으로 인쇄합니다.디버깅을 위한 "원시" 형식입니다.여기서\n사용자에게 표시하는 데 사용됩니다. %r변수의 원시 데이터인 경우의 표현을 보여줍니다.

months = "\nJan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug"
print "Here are the months: %r" % months

출력:

Here are the months: '\nJan\nFeb\nMar\nApr\nMay\nJun\nJul\nAug'

Learn Python the Hard Way에서 예를 확인하십시오.

%r따옴표와 함께 표시:

다음과 같습니다.

I said: 'There are 10 types of people.'.

당신이 경한우용을 했다면.%s그것은 다음과 같을 것입니다.

I said: There are 10 types of people..

이것은 위의 벤 제임스의 답변 버전입니다.

>>> import datetime
>>> x = datetime.date.today()
>>> print x
2013-01-11
>>> 
>>> 
>>> print "Today's date is %s ..." % x
Today's date is 2013-01-11 ...
>>> 
>>> print "Today's date is %r ..." % x
Today's date is datetime.date(2013, 1, 11) ...
>>>

이것을 실행했을 때 %r의 유용성을 확인할 수 있었습니다.

언급URL : https://stackoverflow.com/questions/6005159/when-to-use-r-instead-of-s-in-python