일반적인 Python 오류 식별 및 이해
이 단계에서는 Python 코드를 작성할 때 발생할 수 있는 몇 가지 일반적인 오류를 살펴보고 오류 메시지를 식별하고 이해하는 방법을 배웁니다. 오류를 만나는 것은 프로그래밍의 정상적인 부분이며, 오류 메시지를 읽고 해석하는 방법을 배우는 것은 매우 중요한 기술입니다.
Python 이 어떻게 반응하는지 보기 위해 의도적으로 코드에 몇 가지 오류를 발생시킬 것입니다. 첫 번째 단계에서 생성한 hello.py 파일을 수정하는 것부터 시작하겠습니다.
VS Code 편집기에서 hello.py 파일을 엽니다.
먼저 print() 함수에 철자 오류를 발생시켜 보겠습니다. 줄을 다음과 같이 변경합니다.
prunt("Hello, LabEx!")
파일을 저장합니다 (Ctrl + S).
이제 터미널에서 수정된 hello.py 파일을 실행합니다.
python hello.py
다음과 유사한 오류 메시지가 표시됩니다.
Traceback (most recent call last):
File "/home/labex/project/hello.py", line 1, in <module>
prunt("Hello, LabEx!")
NameError: name 'prunt' is not defined
이것은 NameError입니다. Python 이 prunt라는 이름을 인식하지 못한다는 것을 알려줍니다. 이는 올바른 함수 이름이 print이기 때문입니다. 오류 메시지는 또한 파일 이름 (hello.py), 줄 번호 (1 행) 및 오류를 발생시킨 특정 코드도 가리킵니다.
이제 print의 철자를 수정하고 누락된 따옴표를 추가해 보겠습니다. 줄을 print로 되돌리지만 닫는 큰따옴표를 제거합니다.
print("Hello, LabEx!)
파일을 저장하고 다시 실행합니다.
python hello.py
SyntaxError와 같은 다른 오류 메시지가 표시될 것입니다.
File "/home/labex/project/hello.py", line 1
print("Hello, LabEx!)
^
SyntaxError: unterminated string literal (missing '"')
이 SyntaxError는 코드 구조에 문제가 있음을 나타냅니다. "unterminated string literal (missing '"')" 메시지는 큰따옴표로 시작했지만 끝나지 않았음을 명확하게 알려줍니다.
마지막으로 따옴표를 수정하고 괄호에 영어 이외의 문자를 추가해 보겠습니다. 줄을 다음과 같이 변경합니다.
print("Hello, LabEx!")
여기서 괄호는 Python 에서 요구하는 반각 영어 문자가 아니라 전체 너비 중국어 문자라는 점에 유의하십시오.
파일을 저장하고 실행합니다.
python hello.py
잘못된 문자 관련 SyntaxError가 표시될 가능성이 높습니다.
File "/home/labex/project/hello.py", line 1
print("Hello, LabEx!")
^
SyntaxError: invalid character '(' (U+FF08)
이 오류 메시지는 잘못된 문자와 해당 유니코드 표현을 가리킵니다. Python 은 괄호와 같은 구문 요소에 대해 표준 영어 반각 문자를 예상합니다.
의도적으로 이러한 오류를 생성하고 오류 메시지를 관찰함으로써 다양한 유형의 오류가 무엇을 의미하는지, 그리고 코드에서 문제의 출처를 어떻게 찾을 수 있는지 이해하기 시작할 수 있습니다. 다음 단계에서는 이러한 오류를 디버깅하는 방법을 배웁니다.