본문 바로가기
컴퓨터관련/Python

python에서 포맷팅코드

by 빛과 어둠사이 2021. 5. 12.
728x90
반응형
SMALL

오늘은 파이썬에서의 포맷팅코드에 대해

정리를 해보려고 합니다.

 

문자열 포맷팅코드라고 하면,

%s, %d 등으로 해서 형식을 미리 지정하고

나중에 해당 곳에 들어갈 값들을

대체하는 것입니다.

 

 

 

저는 그냥 하면서 해운 스타일이라서

뭔가 말로 설명하기는 힘드네요.

예제로 한번 봐보도록 하겠습니다.

 

year = 2021
month = 5
day = 11

print('오늘 날짜는 '+ str(year) +'년 '+str(month)+'월 '+str(day)+'일 입니다.')

위처럼 예제 소스를 작성하였습니다.

 

year, month, day 라는 변수를 선언하고

오늘 날짜를 지정하였습니다.

그리고 이것을 문자열로 변환해서 출력하도록 한 것입니다.

 

위처럼 소스를 작성하였고

실행을 하게 되면

결과는 아래처럼 나오게 됩니다.

 

 

위처럼 나와지는 것을

확인할 수 있습니다.

 

 

 

 

 

이제 위의 소스를 가지고

포맷팅을 해보도록 하겠습니다.

포맷팅을 하기 위해서는 %d를 넣어주시면 되십니다.

 

year = 2021
month = 5
day = 11

print('오늘 날짜는 %d년 %d월 %d일 입니다.' %(year, month, day))

소스를 위처럼 넣었습니다.

이렇게 넣으면 %d 의 값에 뒤에 있는 값들로 대체하는 것입니다.

첫번째 %d는 year 변수의 값

두번째 %d는 month 변수의 값

세번째 %d는 day 변수의 값으로

대체되어 나오게 되는 것입니다.

 

 

 

위처럼 소스를 작성하고

실행을 하게 되면

결과는 아래처럼 나오게 됩니다.

 

위처럼 나와지는 것을

확인할 수 있습니다.

 

맨 위의 예제 소스와 동일하게 나와지는것을

볼 수 있습니다.

 

 

 

 

 

 

 

파이썬에서 문자열을 포맷팅 하는 코드는

아래와 같이 정리를 할 수 있습니다.

 

코드 설명
%s 문자열(String)
%c 1글자문자(char)
%d 정수(Integer)
%f 부동소수형(flow)
%o 8진수
%x 16진수

 

위처럼 되어있습니다.

그러니 필요에 따라서 변경을 해주시면 되십니다.

 

 

 

 

 

 

그리고 위에 보면 있는 %s는 문자열입니다.

문자열이기 때문에 거의 대부분의 값들이 다 대체가 가능합니다.

한번 확인해보도록 하겠습니다.

 

year = 2021
month = 5
day = 11

print('오늘 날짜는 %s년 %s월 %s일 입니다.' %(year, month, day))

 

위처럼 소스를 작성하였습니다.

%s로 해서 String 형 문자열로 대체를 하도록

한 것입니다.

 

위처럼 소스를 작성하였고,

실행을 하게 되면

결과는 아래처럼 나오게 됩니다.

 

 

 

위처럼 문제 없이 나오게 되는 것을

확인할 수 있습니다.

 

 

 

 

 

그렇다면 이번에는 문자열로 변수를 설정하고

실행을 해보도록 하겠습니다.

별 문제는 없이 실행이 될 거 같으나,

혹시 모르니 한번 실행해보도록 하겠습니다.

 

year = "2021"
month = "5"
day = "11"

print('오늘 날짜는 %s년 %s월 %s일 입니다.' %(year, month, day))

 

위처럼 소스를 작성하였습니다.

year, month, day 변수에 값을 할당할 때,

따옴표("")를 붙였습니다.

그래서 문자열로 지정해서 지정을 한 것입니다.

 

위처럼 소스를 작성하였고

실행을 하게 되면 결과는 아래처럼 나오게 됩니다.

 

위처럼 나오게 됩니다.

문자열로 변수를 선언하고,

문자열로 포매팅을 하였기 때문에

문제가 전혀 없습니다.

 

 

 

그러면 이제 문자열로 데이터를 넣지만,

정수형으로 표현을 해보도록 하겠습니다.

%s가 아닌,

%d로 해서 출력을 하도록 해보겠습니다.

year = "2021"
month = "5"
day = "11"

print('오늘 날짜는 %d년 %d월 %d일 입니다.' %(year, month, day))

 

위처럼 소스를 작성하였습니다.

 

%s가 아닌, %d로 해서

정수형으로 포맷팅을 하는 것입니다.

 

위처럼 소스를 작성하고

실행을 하게 된다면 결과는 아래처럼 나오게 됩니다.

 

위처럼 오류가 발생하는 것을

확인할 수 있습니다.

 

 

%d는 정수형인데 문자열을 넣으려고 하니

발생하는 오류입니다.

 

 

 

 

 

 

오늘은 파이썬에서의 포맷팅에 대해서

정리를 해보았습니다.

요즘은 fstring 등을 쓸 수도 있고,

맨 위의 예제소스처럼 저렇게 쓸 수도 있기 때문에

그렇게 많이 사용을 하지는 않는거 같기도 하네요.

그렇지만 알고 있으면

여러모로 좋을 것 같네요.

 

 

 

 

이상으로 python에서의 포맷팅에 대한

정리였습니다~

 

 

 

 

 

 

 

 

 

 

 

Do it! 점프 투 파이썬:이미 200만명이 이 책으로 프로그래밍을 시작했다!, 이지스퍼블리싱

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
LIST