print('Job: {!r}, {!s}'.format(5,3))
대답은
Job: 5, 3
{!r}
은 어떻게 평가합니까입니까? 특별한 의미가 있습니까?
print('Job: {!r}, {!s}'.format(5,3))
대답은
Job: 5, 3
{!r}
은 어떻게 평가합니까입니까? 특별한 의미가 있습니까?
!r
은 보간하기 전의 값으로 repr()
을 호출합니다.
정수의 경우 str()
, 기본값은 format()
및 repr()
출력은 다릅니다. 문자열과 같은 다른 유형의 경우 차이가 더 잘 보입니다.
>>> print('Repr of a string: {!r}'.format("She said: 'Hello, world!'"))
Repr of a string: "She said: 'Hello, world!'"
따옴표가 포함되어 있습니다.
Format String Syntax을 참조하십시오. !
뒤의 문자는 변환을 값에 적용합니다. 기본값은 변환하지 않지만 값을 repr()
표현 또는 str()
문자열 출력으로 각각 변환하려면 !r
또는 !s
을 사용할 수 있습니다. 중 하나를 명시 적 __format__()
방법을 지정하지 않는 형태를 처리 할 때
당신은 일반적으로 변환을 사용하십시오 (예 : bytes
을)를 명시 적으로 repr()
출력 (디버그 출력을위한 매우 도움), 또는 때이 서식 할 때 유형의 혼합을 처리 할 수 있습니다.
Martijn, is! for str() ?? – user3273866
@RAJ : 그렇습니다. 나는 답을 이렇게 적어 두었습니다. –
@MartijnThanks, 정말 도움이 답변, 그것은 항상 upwordvote를해야합니다. – user3273866
downvoting 할 자격이 질문에 대한 끔찍한 무엇입니까? 정수의 경우 '! r'은 여기서'! s'와 아무런 차이가 없기 때문에 놀랄 수 있습니다. –
@MartijnPieters이 댓글에 감사 드리며, 일부 사람들은 투표를하기 전에 투표를 선호하지만 아직 해결책을 제시 할 수는 없습니다. – iamshola
귀하의 게시물 *에 * 귀하가 예상 한 정보가 부족합니다. 출력 형식에 차이가 없다는 것에 놀랐던 형식으로 {{! s}'을 (를) 가지고 있다는 사실에서 추론해야했습니다. 명시 적으로 * 왜 * 질문을했는지 또는 문서를 읽었 음을 보여 주면 도움이 될 것입니다. –