Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 문자열 왼쪽을 0으로 채우는 방법 (왼쪽 제로 패딩)

파이썬에서 문자열 왼쪽을 0으로 채우는 방법

파이썬에서 숫자나 문자열 앞에 0을 붙여 자릿수를 맞추고 싶다면 몇 가지 유용한 방법이 있습니다. 대표적으로 rjust(), 문자열 포맷팅, 그리고 zfill() 메서드를 활용하는 방식입니다.

1. rjust() 메서드 사용하기

문자열 클래스에서 제공하는 rjust(width[, fillchar]) 메서드는 문자열을 오른쪽 정렬하고, 남는 왼쪽 공간을 지정한 문자로 채워줍니다. 두 번째 인자인 fillchar를 생략하면 기본값인 공백(space)으로 채워지며, 여기에 '0'을 지정하면 원하는 결과를 얻을 수 있습니다.

>>> '25'.rjust(6, '0')
'000025'
>>> 'Apollo'.rjust(10, '0')
'0000Apollo'

2. 문자열 포맷팅 사용하기

파이썬의 문자열 포맷팅 기능을 이용해서도 동일한 결과를 만들 수 있습니다. 아래 예시처럼 %06d 형식을 사용하면 숫자를 6자리로 맞추고 빈 자리를 0으로 채웁니다.

>>> print "%06d" % 25
'000025'

참고로 위 코드는 파이썬 2 스타일이며, 파이썬 3에서는 다음과 같이 작성하는 것이 좋습니다.

>>> print("%06d" % 25)
'000025'
>>> print(f"{25:06d}")
'000025'

3. zfill() 메서드 사용하기

가장 직관적인 방법은 바로 zfill() 메서드입니다. 이 메서드는 이름 그대로 '제로 채우기(zero fill)', 즉 왼쪽에 0을 채우는 용도로 만들어졌기 때문에 별도의 채울 문자를 지정할 필요가 없습니다.

>>> '25'.zfill(6)
'000025'
>>> 'Apollo'.zfill(10)
'0000Apollo'

정리

- rjust(width, '0'): 임의의 문자로 왼쪽을 채울 수 있는 범용적인 방법
- %06d 또는 f-string 포맷팅: 숫자 데이터를 다룰 때 간편하게 사용 가능
- zfill(width): 0으로 채우는 데 특화된 가장 간단한 전용 메서드

상황에 맞게 적절한 방법을 선택하면 파일명 생성, ID 포맷팅, 날짜·시간 표시 등 다양한 작업에서 일관된 자릿수를 손쉽게 유지할 수 있습니다.