IT

[파이썬 기초] print() 함수에서 % 와 format()를 사용하여 서식에 맞게 출력(1)

생각파워 2018. 11. 2. 16:58

%와 format()함수는 문자열을 형식에 맞게 출력할 수 있는 방법입니다.

print() 함수와 같이 사용을 많이 하기 때문에 print()함수 출력법에서 자주 설명되고 있습니다. 

예전에는 %를 사용했으나, format()을 사용하는것이 더 직관적이기 때문에 format()을 더 권장하고 있습니다.

 

예제를 살펴보면서 둘을 비교해 보겠습니다. 

 

1. 순서대로 출력

 문자열 'first'와 'second'를 출력하는 상황입니다.

 

 

인자로 ("first", "second")를 주면 순서대로 %와 {}에 매칭되어 출력됩니다.

 

 

2. 출력순서 조정

위 예제에서 인자는 ("first", "second")를 주고, 'second first'로 출력하고 싶으면 어떻게 해야 할까요? 

아쉽게도 %를 이용해서는 이 문제를 해결할 수 없습니다.

순서를 정하는 방법이 없기 때문이죠.

format()은 다음과 같이 사용하면 됩니다. 

 

 

 

 

3. 출력위치 조정

출력 시 전체 문자열의 길이를 조절할 수 있습니다. 

아래와 같이 처리하면 10자리의 길이가 잡힙니다. 

 

 

%와 format() 이 출력되는 기본위치가 다르네요.

%는 오른쪽정렬, format()은 왼쪽정렬이네요.

정렬을 맞춰주려면 아래와 같이 처리하면 됩니다.

 

 

'>10'이라고 표시해 주니까 오른쪽으로 정렬이 되네요.

왼쪽정렬은 <10 이겠죠?

 

 

%를 이용해서 왼쪽정렬을 하려면 "%10s"라고 된 부분을 "%-10s"라고 바꿔주시면 됩니다.

 

가운데 정렬시에는 '^'를 붙여주면 됩니다.

 

 

4. 공백을 특정문자로 대체(format()만 가능)

 

 

 

내용이 많네요.

다음에 더 살펴보겠습니다.

 

반응형