문자열을 왼쪽 정렬, 가운데 정렬, 오른쪽 정렬 줄맞춤을 하고 싶은 경우 메서드를 사용해서 할 수 있습니다.
숫자를 정렬 하고 싶은 경우에는 문자열로 변환후 메서드를 사용하면 됩니다.
▶ 왼쪽 줄맞춤 : ljust()
▶ 가운데 줄맞춤 : center()
▶ 오른쪽 줄맞춤 : rjust()
왼쪽 줄맞춤
문자열을 왼쪽으로 정렬 하고 싶은 경우는 ljust() 메서드를 사용합니다.
str = 'abc'
print(str.ljust(8))
# abc
print(str.ljust(8, '+'))
# abc+++++
첫 번째 인수는 문자수를 지정합니다.
두 번째 인수는 지정하지 않으면 공백을 채웁니다.
예제 처럼 두 번째 인수를 지정하면은, 지정한 문자로 나머지 공백을 채워줍니다.
만약 지정한 문자수가 대상 문자열보다 작은 경우에는 아무런 변화가 없습니다.
print(str.ljust(2))
# abc
두 번째 인수에 2글자 이상 지정하면 에러가 발생합니다.
print(s.rjust(8, 'lmn'))
# TypeError: The fill character must be exactly one character long
가운데 줄맞춤
문자열을 가운데 정렬 하고 싶은 경우는 center() 메서드를 사용합니다.
str = 'abc'
print(str.center(8))
# abc
print(str.center(8, '+'))
# ++abc+++
print(str.center(9, '+'))
# +++abc+++
print(str.center(10, '+'))
# +++abc++++
오른쪽 줄맞춤
문자열을 오른쪽으로 정렬할때는 rjust() 메서드를 사용합니다.
str = 'abc'
print(str.rjust(8))
# abc
오른쪽 정렬도 마찬가지로 두 번째 인수를 지정하지 않으면 모자란 자리수 만큼 공백으로 채웁니다.
오른쪽 정렬을 하면서 0을 채워주는 메서드로 zfill() 이 있습니다.
rjust() 와 zfill() 메서드 차이점은 + – 기호를 포함해서 인식하는지 차이가 있습니다.
rjust() 와 zfill() 차이
str = '-123'
print(str.rjust(8, '0'))
# 0000-123
print(str.zfill(8))
# -0000123
rjust() 를 사용하면 기호 앞에 0이 붙습니다.
0을 채우는 zfill()는 기호가 맨 앞으로 오게 됩니다.
금액 표시같은 경우에는 zfill()를 사용하지만 우편번호나 전화번호등 문자열 그대로 사용하고 싶은 경우에는 rjust()를 사용하는 것이 좋습니다.
댓글