이번 시간는 파이썬의 에러 코드에 대해 알아보자. 파이썬을 사용할 때, 또는 실행할 때, 에러코드가 뜬다면 지나치지 말고 유심히 살펴보면 자신이 틀린 부분을 수정하고 알게 되며 이후에도 에러가 뜬다면 바로 쉽게 대처할 수 있다. 그러므로, 만약 에러코드가 화면에 뜬다면, 지나치지 말고 자세히 살펴보는 습관을 들이자.
파이썬의 에러코드의 종류는 여러가지가 있는데, 하나하나씩 살펴보자.(왠지 글이 길어질 것 같다는 불안감이...^^)
이 에러는 '파이썬(Python)에서는 쓰지 않는 문법'이라는 뜻을 가지고있다. 이 에러가 나는 원인은 코드 안에서의 문법상 오류이고, 해결방법은 오류가 난 부분(코드)을 찾아서 고치는 것이다.
ex)
for i in range(1,10)
print(i)
결과:
다음과 같이, 이 코드에서 range 함수 뒤에 ':'라는 기호가 없기 때문에 이 에러가 뜬다.
먼저 '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'라는 에러가 나타난다.(여기서 속성이란, 변수, 함수, 모듈 등을 의미한다.)
이 에러는 module이 코드와 파일상에서 존재하지 않아서 생기는 에러이다.
만약,
ModuleNotFoundError: No module found 'math.add', 'math.add' is not package
라는 코드가 있다.
이 말은 즉, 'package'
안에 'math.add'
라는 파일은 존재하지 않아! 라는 뜻이다.
다음으로, IndexError이라는 에러에 대해 알아보자.
예를 들어 a = [1,2,3] 이라는 원소 3개를 가진 리스트에서 'print(a[4])'와 같이 4번째 원소를 출력할 때 발생하는 에러이다.
ex)
a = [1,2,3]
print(a[4])
결과:
이렇게 에러코드 7가지 중 4가지를 알아보았다. 다음 게시물에서는 나머지 3가지를 알아보자.
ㅂㅇㅂㅇ~!
공감하며 읽었습니다. 좋은 글 감사드립니다.