본문 바로가기
컴퓨터 프로그래밍/python

Python 포맷팅(Format)

by JaeBaek 2020. 8. 12.

Format (Picpedia)

 

■ 포맷팅

 

 지금까지 출력하는 것들은 간단한 형태로 출력을 해왔습니다. 하지만 사용자로부터 값을 입력받고 그 값을 연산한 뒤 다시 값을 출력할 때, 단순한 형태로는 나타낼 수 없습니다. 따라서 자료형을 연결해주어야한다. 연결하는 방법은 + 연산자를 이용해서 쉽게 연결을 해서 출력이 가능하지만 중간중간에 문자열이 아닌 값을 문자열로 바꿔주는 비효율적인 과정이 생깁니다. ( " " 를 끊어주는 또는 str함수 같이 만들어주는 것들 ) 따라서 저희는 한번에 작성을 할 수 있는 포맷팅에 대해서 알아보도록 하겠습니다. 

 포맷팅 방법은 문자열 사이사이에 다른 정보를 삽입하여 조립하는 기법을 말합니다. 문자열에 표식을 넣고 변수를 밝히면 표식자리에 정보가 삽입이 되고, 중간에 끊지않고, 쉽게 작성을 할 수 있습니다. 이 방법은 정보 사이에 공백이 들어가고 출력만 할 뿐 하나의 문자열을 만들어 내는 것은 아닙니다. 따라서 문자열 사이사이에 다른 저보를 삽입하여 조립하는 기법입니다.

 

표식의 종류

표식 설명
%d 정수
%f 실수
%s 문자열
%c 문자 하나
%h 16진수
%o 8진수
%% % 문자

 

생년월일 작성

year=1998

month=1

day=1

print("제 생년월일은 %d년 %d월 %d일 입니다" %(year,month,day))

result

제 생년월일은 1998년 1월 1일 입니다

 

※ 표식에서 %뒤에 숫자를 넣으면 얼마만큼의 폭을 지정할 수 있습니다. 보기 좋게 정렬을 할 수 있게 활용을 할 수 있습니다. 그리고 %숫자 뒤에 " . + 숫자2 " 를 하면 숫자2만큼의 소수점 이하의 자릿수를 나타냅니다. 따라서 긴 연산을 한 경우에는 %10.2d 라던지 적절하게 유효숫자를 끊으면서 활용을 할 수 있을 것 같습니다. 

 

 

■ Advanced 포맷팅

python 2.6 이후부터 가능한 포맷팅 방법인데 간단하게 기능을 알아보고 넘어가도록 하겠습니다.

 

정보를 삽입할 위치에 { } 를 적고, format method의 인수로 삽입할 변수를 나열합니다. 

개인신상 입력

nam="pyh"

ag="30"

print("name : {0}, age : {1}".format(nam,ag))

result

name : pyh, age : 30

※ 추가적으로 { } 안에 기존의 " . + 숫자2 " 처럼 활용할 수 있는 기능이 많이 있습니다. 이 기능들은 다음에 다루도록 하겠습니다. 

댓글