문자열 또는 숫자 앞에 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이 채워졌습니다.
댓글