본문 바로가기

언어/Python

[ 파이썬 / Python ] 문자열의 자리 맞춤하기

반응형

Python에서 문자열의 자리 맞춤을 하는 방법은 여러 가지가 있습니다.
문자열의 자리 맞춤에는 주로 ljust(), rjust(), center() 메서드와 format() 메서드 및 f-문자열(f-string)을 사용합니다.
각 방법에 대해 자세히 설명하겠습니다.

1. str.ljust(width, fillchar)

이 메서드는 문자열을 왼쪽으로 정렬하고, 지정한 폭(width)을 맞추기 위해 오른쪽에 fillchar 문자를 추가합니다. 기본 fillchar는 공백입니다.

s = "Hello"
print(s.ljust(10))        # 출력: 'Hello     '
print(s.ljust(10, '-'))   # 출력: 'Hello-----'

2. str.rjust(width, fillchar)

이 메서드는 문자열을 오른쪽으로 정렬하고, 지정한 폭(width)을 맞추기 위해 왼쪽에 fillchar 문자를 추가합니다. 기본 fillchar는 공백입니다.

s = "Hello"
print(s.rjust(10))        # 출력: '     Hello'
print(s.rjust(10, '-'))   # 출력: '-----Hello'

3. str.center(width, fillchar)

이 메서드는 문자열을 가운데 정렬하고, 지정한 폭(width)을 맞추기 위해 양쪽에 fillchar 문자를 추가합니다. 기본 fillchar는 공백입니다.

s = "Hello"
print(s.center(10))        # 출력: '  Hello   '
print(s.center(10, '-'))   # 출력: '--Hello---'

4. str.zfill(width)

이 메서드는 문자열의 길이를 width로 맞추기 위해 왼쪽에 '0'을 추가합니다. 숫자 문자열에 주로 사용됩니다.

s = "42"
print(s.zfill(5))  # 출력: '00042'

5. format() 메서드와 f-문자열(f-string)

format() 메서드와 f-문자열을 사용하면 문자열을 포맷팅할 때 자리 맞춤을 포함하여 다양한 작업을 수행할 수 있습니다.

format() 메서드 사용

s = "Hello"
print("{:<10}".format(s))   # 왼쪽 정렬: 'Hello     '
print("{:>10}".format(s))   # 오른쪽 정렬: '     Hello'
print("{:^10}".format(s))   # 가운데 정렬: '  Hello   '

f-문자열 사용

Python 3.6부터 도입된 f-문자열을 사용하면 더욱 간단하게 포맷팅할 수 있습니다.

s = "Hello"
print(f"{s:<10}")  # 왼쪽 정렬: 'Hello     '
print(f"{s:>10}")  # 오른쪽 정렬: '     Hello'
print(f"{s:^10}")  # 가운데 정렬: '  Hello   '

6. 예제 요약

기본 사용 예제

s = "Hello"

# ljust
print(s.ljust(10))        # 'Hello     '
print(s.ljust(10, '-'))   # 'Hello-----'

# rjust
print(s.rjust(10))        # '     Hello'
print(s.rjust(10, '-'))   # '-----Hello'

# center
print(s.center(10))       # '  Hello   '
print(s.center(10, '-'))  # '--Hello---'

# zfill
num_str = "42"
print(num_str.zfill(5))   # '00042'

# format
print("{:<10}".format(s))  # 'Hello     '
print("{:>10}".format(s))  # '     Hello'
print("{:^10}".format(s))  # '  Hello   '

# f-string
print(f"{s:<10}")  # 'Hello     '
print(f"{s:>10}")  # '     Hello'
print(f"{s:^10}")  # '  Hello   '

이와 같이 다양한 메서드를 사용하여 문자열의 자리 맞춤을 할 수 있습니다.

반응형