퍼센트 출력이 그때 그때 달라요
조회수 5411회
발생하는 문제 및 실행환경
"%%"를 출력하면 어떤 때는 하나만 나오고 어떤 때는 2개가 나오는데 이 차이는 어디서오는 걸까요?
저는 파이썬 3.5.1 쓰고 있습니다.
소스코드
test = "끝내자"
print("%%") #여기는 2개 출력됨
print("퍼센트를 출력 %% 하고 %s" % test) #여기는 1개 출력 됨
출력 :
%%
퍼센트를 출력 % 하고 끝내자
1 답변
-
첫 번째 쓰신건 포멧 스트링이 아닌 그냥 문자열이라서 %% 가 둘다 출력된 것이고, 두 번째 쓰신건 포멧 스트링이라서 %% 를 % 출력을 위해 사용한 것으로 해석해서 그렇습니다.
포멧 스트링은 문자열 내에 %로 시작하는 것을 치환 문자로 처리하게 되는데요. %d는 숫자, %s는 문자 등으로 처리합니다.
그래서 %만 쓰면 포멧이 잘 못되었다는 에러메세지를 볼 수 있는데요.
>>> print ("This is %" % 100) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: incomplete format
사용자가 % 를 포멧 스트링내에서 출력하기 위해서 사용되는 약속된 지시어가 %% 입니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력