본문 바로가기
프로그래밍언어/파이썬[Error]

[파이썬][Error] 017. NameError - name 'x' is not defined

by about_IT 2025. 5. 26.
728x90

NameError: name 'x' is not defined 오류는 파이썬 코드에서 특정 변수를 사용하려 했지만, 해당 이름이 정의되어 있지 않은 경우 발생합니다. 즉, 변수 x를 참조하려 했지만 아직 선언되거나 초기화되지 않았을 때 인터프리터가 해당 이름을 인식하지 못해 오류를 출력하는 것입니다.

파이썬은 코드를 위에서 아래로 순차적으로 실행하며, 어떤 변수를 사용하기 전에 반드시 정의되어 있어야 합니다. 함수나 클래스 내에서 정의된 지역 변수 역시 해당 블록 밖에서는 사용할 수 없기 때문에, 스코프(scope)도 이 오류에 영향을 줍니다.

● 오류 발생 예시

print(x)

위 코드는 x가 선언되기 전에 참조되었기 때문에 오류가 발생합니다.

NameError: name 'x' is not defined

● 올바른 코드 예시

x = 10
print(x)

이처럼 변수는 먼저 정의되어야만 이후 코드에서 사용할 수 있습니다.

● 자주 하는 실수

  • 변수명을 오타로 잘못 입력 (예: xl vs x1)
  • 변수를 선언하지 않고 바로 사용
  • 지역 변수와 전역 변수의 범위 혼동
  • 함수 안에서 전역 변수를 사용할 때 global 선언 없이 접근

● 디버깅 팁

  • 변수가 선언되었는지, 올바른 스코프 안에 있는지 확인
  • 변수명이 정확하게 일치하는지 철자 확인
  • 반복문, 조건문 안에서 조건 분기 이전에 변수를 사용하고 있지는 않은지 점검

● 결론

NameError는 파이썬에서 가장 흔하게 발생하는 오류 중 하나이며, 변수나 함수가 정의되기 전에 참조되었을 때 발생합니다. 코드 작성 시에는 항상 먼저 정의한 후 사용하는 흐름을 유지해야 하며, 스코프와 변수명이 일치하는지 세심하게 점검하는 습관이 중요합니다.

728x90