출력
출력 시에 자료형에 따라 혹은 표현 방법을 지정함에 따라 좀 더 보기 좋게 표현하기 위해 혹은 더 정확하게 표현하기 위해 포매팅을 사용합니다. 가장 정교하고 완벽하게 포맷팅을 원한다면 format 메서드를 이용하면 됩니다. 하지만 이 내용에서는 format에 대한 자세한 내용은 다루지 않습니다. 여기서는 % 지시자를 이용한 포맷팅 내용을 다룹니다.
% 포매팅
% 을 이용한 방법은 C/C++ printf 사용방법과 유사합니다. 먼저 매우 간단한 예입니다.
a=100
print('number : %d ' %a) #number : 100 출력
위와 같이 변수 a를 % d에 출력하는 내용입니다. 여러 개를 출력할 경우는 다음과 같습니다.
a=10,b=2,c=12
print('%d+%d=%d'%(a,b,c)) #10+2=12 출력
포매팅할 때 튜플 형식이며 반드시 여러 개를 지정할 땐 괄호를 포함해야 합니다. 튜플 형식이기 때문에 다음과 같은 경우에도 동작합니다.
a=(10,2,12)
print(%d+%d=%d'%a)
% 지시자 종류
%d %i | 10진수 | |
%x %X | 16진수 | ex)af10ff AF10FF |
%o | 8진수 | |
%u | 양의 정수 | |
%f %F | 고정 소수점 표현 | ex)3.125 |
%e %E | 지수를 출력하는 부동소수점 | ex)1.050000e+00 1.050000E+00 |
%g %G | 짧은 표현을 하는 지수 출력 부동소수점 | ex)4e+10 4E+10 |
%s | 문자열 | |
%r | 코드 그대로 출력(이스케이프 x) |
지시자에 따라 자료형 포맷을 지시합니다. 다음 예를 들어 포맷 지시자의 사용방법 예시입니다.
pi=3.14159226
print('pi(f):%f'%pi)
print('pi(e):%e'%pi)
포매팅 내용을 변수로 대입한 뒤 그 변수를 출력해도 정상적으로 작동합니다.
s='My name is %s , age : %d'%('Karl',16)
print(s)
포매팅 필드
출력하려는 문자열의 포매팅 지시자 % 뒤에 적절한 필드 공간에 값을 입력하면 출력 길이, 좌우 정렬을 설정할 수 있습니다. %[-][길이][. 자릿수][타입] 형식입니다.
-는 왼쪽 정렬을 할 때 사용합니다. 그다음 길이는 표현 길이를 지정하는 필드입니다. p는 정밀도, 자릿수를 지정하기 위한 필드입니다. 기본적으로 오른쪽 정렬이 기본이지만 왼쪽으로 정렬을 하기 위해서 지정할 수 있습니다.
옵션처럼 선택 가능하며 다음 포맷 모두 사용 가능합니다.
%d %5d %4.5d %.4d %-4.5d
print('Num"%-10.2f'%167.1)
소수점 길이가 표현하려는 것보다 작을 때 의문적이 생길 수 있다.
이 경우는 반올림을 하거나 버림이 된다.
정리
%를 이용한 포맷팅에 대해 간단히 정리했습니다. 고급 포매팅은 format을 이용하여 출력하는 것이 훨씬 좋지만 간단하고 직관적인 % 역시 많이 쓰기에 알아둘 필요는 있습니다. format이 아니더라도 충분히 범용성 있게 사용할 수 있습니다.
'Programming > Python' 카테고리의 다른 글
파이썬 파일 입출력과 포인터 사용하기 (0) | 2021.09.18 |
---|---|
파이썬 format 메서드 다양한 포매팅을 돕는 메서드 (0) | 2021.08.22 |
파이썬 람다 Lambda 함수와 (if~else,map,reduce, filter)응용 (0) | 2021.08.08 |
파이썬 리스트와 리스트 활용하기 (0) | 2021.08.05 |
파이썬 AES 암호화 파일 예제 (2) | 2021.07.23 |
댓글