Python 문자열 포맷팅 ‘0’외의 문자로 채우기

Python 문자열 포맷팅 방법에는 여러가지가 있습니다. 길이를 지정하고 ‘0’ 이외의 문자로 채우는 방법을 알아보도록 하겠습니다.

Python 문자열 포맷팅 방법

앞서 Python 문자열 숫자 앞에 0 채우기 2가지 방법에서 숫자 앞에 ‘0’을 채우는 방법을 살펴보았습니다. 이어서 ‘0’을 채울 수도 있고, ‘0’ 이외의 문자를 채우는 방법도 함께 살펴보도록 하겠습니다.

str.rjust() 메서드: ‘0’외의 문자 채우기

앞서 살펴본 printf 스타일의 문자열 포맷팅 방식이나 str.zfill() 메서드의 경우에는 아스키 문자 ‘0’을 채우는 기능인데, str.rjust() 메서드의 경우에는 문자 ‘0’ 외의 다른 문자를 채울 수 있습니다.

코드를 통해서 사용 방법을 살펴보겠습니다.

value = 31
str(value).rjust(5)
str(value).rjust(5, '0')
str(value).rjust(5, '_')
str(-31).rjust(5, '0')
Python

위의 코드를 실행하면 아래와 같이 실행됩니다.

2 라인과 같이 길이만 지정하면, 문자열을 오른쪽 정렬하고 남는 공간은 스페이스 문자(‘ ‘)로 채워집니다.

3 라인의 경우에는 앞에 아스키 문자 ‘0’으로 채웁니다.

4 라인의 경우에는 앞에 아스키 문자 ‘_’로 채웁니다.

5 라인은 음수의 경우인데 printf-style, str.zfill() 메서드, 빌트인함수 format(), str.format() 메서드와는 처리 방식이 다릅니다. 숫자로 인식해서 0을 채우는 방식이 아니라 남는 공간을 특정 문자로 채우는 것이므로, ‘0’ 문자를 먼저 채우고 ‘-31’이 이어지게 됩니다.

그림 1. Python 문자열 포맷팅: '0'외의 문자로 채우기 예시
그림 1. Python 문자열 포맷팅: ‘0’외의 문자로 채우기 예시

str.rjust는 ‘0’을 채우길 원할 때엔 주의해야 하며, ‘0’을 채울 때보다는 특정 문자로 고정폭 문자열을 만들어야 할 때 사용하면 되겠습니다.

관련 자료

Python의 Built-in Functions 페이지Built-in Types 페이지를 참고했습니다.

같이 읽으면 좋은 글

Leave a Comment