본문 바로가기
728x90

전체 글389

[파이썬][Error] 023. NameError - name 'MyClas' is not defined NameError: name 'MyClas' is not defined 오류는 클래스 이름을 잘못 입력했을 때 발생하는 대표적인 오타 기반의 오류입니다. 예를 들어 MyClass라는 클래스를 정의하고자 했지만 코드 상에서 MyClas처럼 철자가 누락되거나 잘못 입력되었을 경우, 파이썬은 해당 이름이 존재하지 않는다고 판단해 NameError를 발생시킵니다.이러한 오류는 특히 클래스 또는 함수 이름처럼 사용자 정의 이름이 긴 경우, 타이핑 실수로 인해 자주 발생합니다. 또한 대소문자를 구분하는 파이썬의 특성상 철자는 정확히 일치해야 하며, 단순히 비슷한 철자라고 해서 자동으로 인식해주지 않습니다.● 오류 발생 예시class MyClass: passobj = MyClas()이 코드는 MyClas라는 이.. 2025. 5. 26.
[파이썬][Error] 022. NameError - free variable 'x' referenced before assignment in enclosing scope NameError: free variable 'x' referenced before assignment in enclosing scope 오류는 중첩 함수에서 바깥 함수의 지역 변수(x)를 참조하려고 했지만, 그 변수에 값을 재할당하면서 nonlocal을 선언하지 않았을 때 발생합니다. 파이썬에서는 내부 함수에서 외부 함수의 지역 변수를 사용할 경우, 해당 변수를 수정하려면 nonlocal 키워드를 명시적으로 사용해야 합니다.이 오류는 변수 스코프의 규칙을 위반했을 때 발생합니다. 내부 함수에서 변수에 값을 할당하면 그 변수는 기본적으로 내부 함수의 지역 변수로 간주되며, 따라서 바깥 함수의 변수는 가려지게 됩니다. 하지만 내부 함수에서 참조와 할당을 동시에 시도할 경우, 파이썬은 모호성을 피하기 위해 .. 2025. 5. 26.
[파이썬][Error] 021. NameError - name 'x' is not defined NameError: name 'x' is not defined 오류는 파이썬에서 선언되지 않은 변수나 객체를 참조하려 할 때 발생합니다. 즉, 코드 어딘가에서 변수 x를 사용했지만, 그 이전에 x가 정의되지 않았거나 오타가 있어 파이썬 인터프리터가 해당 이름을 인식하지 못했을 경우입니다.이 오류는 대부분 변수 선언 순서를 지키지 않거나, 변수명을 잘못 입력한 경우, 또는 특정 스코프 내에서만 정의된 변수를 바깥에서 참조할 때 발생합니다. 특히 동적 환경에서 코드를 빠르게 작성하다 보면 사소한 철자 오류로도 쉽게 발생할 수 있습니다.● 오류 발생 예시def say_hello(): print(message)say_hello()이 코드에서는 message가 정의되지 않았기 때문에 NameError가 발생.. 2025. 5. 26.
[파이썬][Error] 020. ImportError - cannot import name 'module' ImportError: cannot import name 'module' 오류는 특정 모듈이나 객체를 import하려 할 때, 대상이 실제 해당 파일이나 패키지 내부에 존재하지 않을 경우 발생합니다. 이 오류는 일반적으로 from 모듈 import 이름 구문에서 이름이 해당 모듈에 정의되어 있지 않거나, 순환 참조(Circular Import)가 발생한 경우에 흔하게 나타납니다.파이썬에서 import는 실제 객체가 모듈 내부에 정의되어 있어야 정상적으로 작동합니다. 정의되지 않은 이름을 가져오려고 하거나, 아직 로딩되지 않은 시점에 참조하면 ImportError가 발생합니다.● 오류 발생 예시# mod_a.pyfrom mod_b import func_bdef func_a(): print("A")# .. 2025. 5. 26.
[파이썬][Error] 019. UnboundLocalError - local variable 'x' referenced before assignment UnboundLocalError: local variable 'x' referenced before assignment 오류는 함수 내부에서 지역 변수로 간주되는 x를 사용하기 전에 먼저 할당하지 않았을 때 발생합니다. 이는 해당 이름이 함수 안에서 값을 할당받기 전에 참조되었기 때문에 발생하는 오류로, NameError의 특수한 경우로 분류됩니다.파이썬은 함수 내부에서 어떤 이름에 값을 할당하는 구문이 있으면, 해당 이름은 지역 변수로 처리합니다. 따라서 함수 내부에서 할당 이전에 해당 변수를 참조하게 되면, 파이썬은 아직 초기화되지 않은 지역 변수로 인식하고 UnboundLocalError를 발생시킵니다.● 오류 발생 예시x = 10def func(): print(x) x = 5func().. 2025. 5. 26.
[파이썬][Error] 018. NameError - name 'pritn' is not defined NameError: name 'pritn' is not defined 오류는 오타로 인해 존재하지 않는 이름을 참조하려고 했을 때 발생하는 대표적인 이름 오류입니다. 여기서 pritn은 흔히 print 함수의 오타로 나타나는 예시로, 파이썬 인터프리터는 pritn이라는 이름이 정의되지 않았다고 판단하여 NameError를 발생시킵니다.파이썬은 철자 하나만 틀려도 전혀 다른 식별자로 인식하며, 정의된 이름 외에는 사용할 수 없습니다. 표준 함수나 변수 이름을 잘못 입력하는 경우 자동완성 기능이 없는 환경에서는 이러한 오류가 자주 발생할 수 있습니다.● 오류 발생 예시pritn("Hello, world!")위 코드에서 print 대신 pritn으로 잘못 입력했기 때문에 다음과 같은 오류가 발생합니다.Name.. 2025. 5. 26.
728x90