일반적인 Python 구문 오류 이해 및 수정하기

댓글: 0

다른 프로그래밍 언어와 마찬가지로 Python에도 고유한 규칙이 있습니다. 이러한 규칙을 따르지 않으면 인터프리터가 코드를 이해할 수 없게 되어 구문 오류가 발생합니다. 이러한 오류는 초보자와 숙련된 프로그래머 모두가 겪는 일반적인 문제입니다. 이 문서에서는 파이썬에서 가장 빈번하게 발생하는 오류에 대해 설명하고 프로그래밍 과정에서 오류를 수정하는 방법을 제공합니다.

일반적인 Python 오류 및 수정 방법

구문 오류가 발생하면 Python은 문제를 가리키는 오류 메시지를 제공합니다. 이 메시지에는 일반적으로 다음이 포함됩니다:

  • 오류가 발생한 파일 이름 및 줄 번호.
  • 오류의 원인이 된 특정 코드 줄입니다.
  • 인터프리터가 혼동한 정확한 지점을 가리키는 캐럿(^).
  • 문제의 본질을 암시하는 오류 설명.

누락되거나 일치하지 않는 괄호

초보자가 가장 흔히 하는 실수 중 하나는 괄호를 닫는 것을 잊어버리는 것입니다. 이는 함수 호출과 중첩 구조에서 특히 흔하게 발생합니다.

예시:

print("Hello, World!"

파이썬 오류 메시지:

1.png

수정:

모든 괄호가 올바르게 닫혔는지 확인합니다.

print("Hello, World!")

파이썬 들여쓰기 오류

Python은 코드 블록을 정의할 때 들여쓰기를 사용합니다. 들여쓰기가 잘못되면 구문 오류가 발생할 수 있습니다.

예제:

def greet():
print("Hello, World!")

파이썬 오류 메시지:

2.png

수정:

코드 블록을 올바르게 들여쓰기합니다.

def greet():
    print("Hello, World!")

목록 또는 사전에서 구두점 오류 누락

목록이나 사전에서 요소 사이에 쉼표를 넣는 것을 잊는 것도 자주 발생하는 실수 중 하나입니다.

예시:

fruits = {"type": "sweert" "name": "orange"}

파이썬 오류 메시지:

3.png

수정:

"sweert"와 "name" 사이에 누락된 쉼표를 추가합니다.

fruits = {"type": "sweert", "name": "orange"}

잘못 사용된 파이썬 예약 키워드

파이썬 예약어를 부적절하게 사용하면 구문 오류가 발생할 수도 있습니다. 키워드는 특별한 의미를 가진 예약어입니다.

예제:

class = "Beginner"

파이썬 오류 메시지:

4.png

수정:

예약 키워드가 아닌 다른 이름을 선택합니다.

level = "Beginner"

불법 변수 이름

변수 이름은 특정 규칙을 준수해야 합니다. 숫자로 시작하거나 공백을 포함하는 등 잘못된 변수 이름을 사용하면 구문 오류가 발생합니다.

예시:

2name = "John"

파이썬 오류 메시지:

5.png

수정:

유효한 변수 이름을 사용하세요.

name2 = "John"

비밀어 있는 문자열

문자열은 일치하는 따옴표로 묶어야 합니다. 문자열을 닫는 것을 잊어버리면 구문 오류가 발생합니다.

예시:

message = "Hello, World!

파이썬 오류 메시지:

6.png

수정:

문자열이 같은 유형의 따옴표로 닫혀 있는지 확인합니다.

message = "Hello, World!"

복합문에서 콜론 누락

if, for, while, def와 같은 복합문 끝에 콜론(:)을 추가하는 것을 잊어버리면 구문 오류가 발생할 수 있습니다.

예시:

def greet()
    print("Hello, World!")

파이썬 오류 메시지:

7.png

수정:

복합문 끝에 콜론을 추가합니다.

def greet():
    print("Hello, World!")

잘못 배치된 파이썬 할당 연산자

연산자를 잘못 사용하면 구문 오류가 발생할 수 있습니다. 여기에는 할당 연산자와 비교 연산자가 포함됩니다.

예제:

if x = 10:
    print("x is 10")

파이썬 오류 메시지:

8.png

수정:

올바른 비교 연산자를 사용합니다.

if x == 10:
    print("x is 10")

일반적인 파이썬 실수를 피하는 팁

  1. 파이썬용 코드 편집기 사용: PyCharm, VS Code 또는 Jupyter Notebook과 같은 도구는 입력할 때 구문 오류를 강조 표시하여 쉽게 발견하고 수정할 수 있도록 해줍니다.
  2. 점진적으로 코드 작성 및 테스트: 정기적으로 코드를 작은 단위로 실행하여 오류를 조기에 발견하세요.
  3. 일관된 들여쓰기: 혼동과 오류를 피하기 위해 들여쓰기에 공백이나 탭을 일관되게 사용하세요.
  4. 파이썬 린팅 도구 사용: pylint 또는 flake8과 같은 린터를 사용하여 코드에 잠재적인 오류가 있는지 분석하고 코딩 표준을 적용하세요.
  5. 문서 참조: 구문 규칙과 규칙을 이해하기 위해 Python의 공식 문서를 가까이에 두세요.

실무에서 구문 오류 처리하기

구문 오류가 발생한 간단한 웹 스크래핑 스크립트와 Python의 기본 제공 디버거인 pdb를 사용하여 이를 디버깅하는 방법을 살펴봅시다.

pdb로 웹 스크래핑 스크립트 디버깅하기

원본 코드:

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
for title in titles
    print(title.text)

파이썬 오류 메시지:

9.png

수정:

for 루프 뒤에 누락된 콜론을 추가합니다.

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
for title in titles:
    print(title.text)

db를 사용하여 디버그하기:

디버거를 시작하려면 루프 앞에 다음 줄을 추가하세요.

import pdb; pdb.set_trace()

중단점을 사용하여 코드를 수정했습니다:

import requests
from bs4 import BeautifulSoup

url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

titles = soup.find_all("h1")
import pdb; pdb.set_trace()
for title in titles:
    print(title.text)

스크립트를 실행하면 중단점에서 pdb 디버거가 시작됩니다.

> /path/to/your/script.py(10)()
-> for title in titles:
(Pdb)

디버깅 명령:

  • n(다음): 다음 코드 줄을 실행합니다.
  • c (계속): 다음 중단점까지 실행을 계속합니다.
  • p variable_name: variable_name의 값을 출력합니다.

세션 예시입니다:

(Pdb) n
> /path/to/your/script.py(11)()
-> print(title.text)
(Pdb) p titles
[<h1>Example Domain</h1>]
(Pdb) c
Example Domain

pdb를 사용하면 코드를 단계별로 살펴보고, 변수를 검사하고, 실행 흐름을 이해할 수 있어 오류를 쉽게 식별하고 수정할 수 있습니다.

파이썬 런타임 오류 피하기

해석 오류는 프로세서가 코드를 포괄적으로 이해하지 못할 때 발생하지만 런타임 오류는 코드가 실행되는 동안 발생합니다. 영 나누기, 목록의 범위 배열 건드리기, 정의되지 않은 변수 등이 이러한 오류의 원인입니다.

예시:

numbers = [1, 2, 3]
print(numbers[3])

파이썬 오류 메시지:

10.png

수정:

유효한 목록 인덱스에 액세스하고 있는지 확인합니다.

print(numbers[2])

파이썬 예외 처리

예외를 처리하면 오류가 발생해도 프로그램이 계속 실행될 수 있습니다. 예외를 포착하고 처리하려면 try-except 블록을 사용하세요.

예제:

try:
    result = 10 / 0
except ZeroDivisionError:
    print("You can't divide by zero!")

결론

일반적인 실수에 대한 전문 지식을 습득하고 파이썬 구문에서 오류를 수정하는 것은 모든 파이썬 개발자에게 매우 필수적입니다. Python 오류 메시지를 읽고 후속 수정을 진행하면 더 나은 코드를 쉽게 작성할 수 있으며, 제안된 도구와 지침을 따르세요.

댓글:

0 댓글