파이썬의 에러 코드 이해하기(1)

한지완·2023년 8월 9일
1

파이썬

목록 보기
5/14
post-thumbnail

이번 시간는 파이썬의 에러 코드에 대해 알아보자. 파이썬을 사용할 때, 또는 실행할 때, 에러코드가 뜬다면 지나치지 말고 유심히 살펴보면 자신이 틀린 부분을 수정하고 알게 되며 이후에도 에러가 뜬다면 바로 쉽게 대처할 수 있다. 그러므로, 만약 에러코드가 화면에 뜬다면, 지나치지 말고 자세히 살펴보는 습관을 들이자.

파이썬 에러코드의 종류

파이썬의 에러코드의 종류는 여러가지가 있는데, 하나하나씩 살펴보자.(왠지 글이 길어질 것 같다는 불안감이...^^)

1. SyntaxError

이 에러는 '파이썬(Python)에서는 쓰지 않는 문법'이라는 뜻을 가지고있다. 이 에러가 나는 원인은 코드 안에서의 문법상 오류이고, 해결방법은 오류가 난 부분(코드)을 찾아서 고치는 것이다.
ex)

for i in range(1,10)
	print(i)

결과:

다음과 같이, 이 코드에서 range 함수 뒤에 ':'라는 기호가 없기 때문에 이 에러가 뜬다.

2. AttributeError

먼저 'Attribute' 라는 단어는 속성이라는 뜻을 가지고 있다. AttributeError는 속성 때문에 생기는 에러이다. 그러면 어느 상황에서 속성 에러가 생길까?

내가 겪었던 에러는 다음과 같다.

이 사진 속 파일명을 보면 math.py 라고 써있다.

다음으로, 이 터미널에 적힌 에러 메세지를 자세히 살펴보자.

AttributeError: partially initialized module 'math' has no attribute 'pi' (most likely due to a circular import)

다음은 내가 작성한 코드이다.

import math

math.pi

이 코드를 보면 이 'AttributeError'라는 에러가 생성된 원인을 알 수 있다.

'math.py'라는 파일 안에서, 'math'라는 모듈을 참조하고 있다. 파이썬은 'math'라는 파일과 'math'라는 모듈의 이름이 같으므로 어떤 속성을 참조해야할지 모르기 때문에 'AttributeError'라는 에러가 나타난다.(여기서 속성이란, 변수, 함수, 모듈 등을 의미한다.)

3. ModuleNotFoundError

이 에러는 module이 코드와 파일상에서 존재하지 않아서 생기는 에러이다.
만약,

ModuleNotFoundError: No module found 'math.add', 'math.add' is not package

라는 코드가 있다.

이 말은 즉, 'package' 안에 'math.add'라는 파일은 존재하지 않아! 라는 뜻이다.
다음으로, IndexError이라는 에러에 대해 알아보자.

4. IndexError

예를 들어 a = [1,2,3] 이라는 원소 3개를 가진 리스트에서 'print(a[4])'와 같이 4번째 원소를 출력할 때 발생하는 에러이다.
ex)

a = [1,2,3]

print(a[4])

결과:

이렇게 에러코드 7가지 중 4가지를 알아보았다. 다음 게시물에서는 나머지 3가지를 알아보자.
ㅂㅇㅂㅇ~!

profile
프로그래머를 꿈꾸는 중

1개의 댓글

comment-user-thumbnail
2023년 8월 9일

공감하며 읽었습니다. 좋은 글 감사드립니다.

답글 달기