프로그래밍언어/파이썬[Error]

[파이썬][Error] 023. NameError - name 'MyClas' is not defined

about_IT 2025. 5. 26. 02:01
728x90

NameError: name 'MyClas' is not defined 오류는 클래스 이름을 잘못 입력했을 때 발생하는 대표적인 오타 기반의 오류입니다. 예를 들어 MyClass라는 클래스를 정의하고자 했지만 코드 상에서 MyClas처럼 철자가 누락되거나 잘못 입력되었을 경우, 파이썬은 해당 이름이 존재하지 않는다고 판단해 NameError를 발생시킵니다.

이러한 오류는 특히 클래스 또는 함수 이름처럼 사용자 정의 이름이 긴 경우, 타이핑 실수로 인해 자주 발생합니다. 또한 대소문자를 구분하는 파이썬의 특성상 철자는 정확히 일치해야 하며, 단순히 비슷한 철자라고 해서 자동으로 인식해주지 않습니다.

● 오류 발생 예시

class MyClass:
    pass

obj = MyClas()

이 코드는 MyClas라는 이름이 정의되지 않았기 때문에 다음과 같은 오류가 발생합니다.

NameError: name 'MyClas' is not defined

● 올바른 코드 예시

class MyClass:
    pass

obj = MyClass()

정확한 클래스 이름을 사용하면 NameError 없이 객체가 생성됩니다.

● 자주 하는 실수

  • 클래스 이름 또는 함수 이름의 철자 실수
  • 대소문자 혼동 (예: myclass vs MyClass)
  • 클래스 정의 순서보다 먼저 호출

● 디버깅 팁

  • 오타 자동 완성 기능을 갖춘 IDE 사용
  • 코드 상에서 이름이 선언된 위치를 먼저 확인
  • dir() 또는 globals()로 현재 정의된 이름 확인

● 결론

NameError - name 'MyClas' is not defined는 단순한 오타지만, 프로그램 실행을 즉시 중단시키는 오류입니다. 클래스나 함수의 이름을 정확하게 일치시키는 습관을 들이고, 자동 완성이나 정적 검사 도구를 활용하면 이런 오류를 효과적으로 방지할 수 있습니다.

728x90