Python에서 숫자 앞에 0을 붙이면 안되는 이유와 해결방법

# 오늘은 2024년 1월 14일 입니다.
year = 2024
month = 01
day = 14
print("오늘은 {}년 {}월 {}일 입니다.".format(year, month, day))
month에 01을 사용하고 싶었는데 실행 하니 아래와 같은 문구가 나왔다.
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
위의 에러는 파이썬에서 숫자 앞에 0을 붙이면 8진수로 해석하려고 하기 때문에 발생하는데, 파이썬3버전 부터는 이 방식이 문법오류를 발생시킨다.
month를 표현할 때 01이 아닌 1을 사용하면 문제를 해결할 수 있는데, 숫자를 01처럼 두자리로 나타내고 싶다면 format 함수를 사용하여 숫자앞에 0을 추가해주면 된다.
# 오늘은 2024년 1월 14일 입니다.
year = 2024
month = 1
day = 14
print("오늘은 {}년 {:02}월 {:02}일 입니다.".format(year, month, day))
위의 코드에서 {:02}는 숫자를 두자리로 표현하되, 한자리수일 경우 앞에 0을 채우라는 의미이다.
이렇게하면 01로 출력이 가능하다.




