Python 0채우기 zfill() 사용 방법 예제

문자열 또는 숫자 앞에 0을 채우고 싶은 경우가 있습니다.

파이썬에서는 0을 채우는 zfill() 메서드가 준비되어 있습니다.

zfill() 메서드를 사용하면 지정한 자리수에서 모자란 자리수에는 0을 채워줍니다.

 

zfill() 예제

str = '1234'

str_zero = str.zfill(8)
print(str_zero)
# 00001234

print(type(str_zero))

# <class 'str'>

 

zfill() 메서드를 호출할 때는 인수를 설정해야 합니다.

설정한 인수는 자리수를 의미합니다.

지정한 자리수 보다 대상 문자열 길이가 긴 경우에는 아무런 변화가 일어나지 않습니다.

print(str.zfill(3))
# 1234

 

문자열 앞에 +나  기호가 있는 경우에도 0을 채워줍니다.

s = '-1234'
print(s.zfill(8))
# -0001234

s = '+1234'
print(s.zfill(8))
# +0001234

 

주의점으로는 +와 도 자리수에 포함되어 계산됩니다.

문자열 안에 숫자가 아닌 문자를 대입해도 0을 채워줍니다.

str = 'abcd'
print(str.zfill(8))
# 0000abcd

 

숫자 타입에 값에 0을 채우는 방법을 보겠습니다.

zfill() 는 문자열 타입 메서드입니다.

숫자 형태의 값에서 호출하게 되면 에러가 발생합니다.

num = 1234

print(type(num))
# <class 'int'>

print(num.zfill(8))
# AttributeError: 'int' object has no attribute 'zfill'

 

숫자 타입에 0을 채우기 위해서는 문자 타입으로 형변환을 해줘야 합니다.

n = 1234

print(str(n).zfill(8))
# 00001234

 

숫자 타입의 값에도 0이 채워졌습니다.

 

댓글