코딩 스쿨에 오신것을 환영합니다~~

질의응답 게시판

 
[스타트 파이썬] 문자열 포맷 %d %s 관련
고 * 웅 | 2019-02-01

75쪽 거스름돈 계산하기 문제 print()에서 %d로 포맷팅이 되어있는데 77쪽 코딩미션에서는 왜 %s로 되어있나요...?? 둘 다 int를 이용해서 문자열을 정수열로 변환했으니 %d 아닌가요??

  • 관 * 자
  • 2019-02-01 (22:02)
네. 말씀하신대로 정수형이니 %d로 하는 것이 올바른 답입니다.
하지만, %s를 사용하여도 괜찮습니다.

%s는 보통 문자열(string)에 사용되지만, 정수나 실수에도 사용될 수 있습니다.

%s에 정수나 실수가 사용되면 자동으로 str() 함수가 적용되어 문자열로 변환되기 때문에 오류 없이 출력됩니다. 

%s는 문자열 뿐만 아니라, 정수나 실수를 있는 값 그대로 화면에 출력하는 데 사용될 수도 있습니다. 

파이썬 사이트의 문서에서 %s를 다음과 같이 정의하고 있습니다.

%s : String (converts any Python object using str()).
  • 관 * 자
  • 2019-02-01 (22:01)
파이썬 쉘에서 테스트해보면

>>> print("%d %s %s" % (5, 5, 3.5))
5 5 3.5

%s를 이용해도 정수와 실수를 화면에 출력할 수 있습니다.^^


  • 고 * 웅
  • 2019-02-02 (10:06)
감사합니다!!^ㅡ^