에러 4

[Python - Error] NameError: ... / AttributeError: ... / __getattr__ raise NameError(attr) - 발생 원인 및 체계적인 디버깅 방법

요약 - __getattr__ 매서드는 클래스로부터 생성된 인스턴스가 attribute(매서드, 함수, 변수 등)를 찾을 수 없을 경우에 호출됩니다. - NameError 역시 요청한 attribute가 존재하지 않는 경우에 발생합니다. - 따라서, 호출하고자 하는 attribute를 아래 표와 같이 살펴봅시다. - 코드 구조나 완결성과 같이 확인하는데 오래걸리고 복잡한 것 부터 의심하지 말고, 아래 표의 우선순위가 높은 것 부터 (빠르게, 확인하는데 리소스가 적게 드는 것부터) 순서대로 확인해 봅시다. 우선 순위 확인 사항 예시 원했던 것 에러 발생 1 오타 여부 np.zeros(5) np.zoros(5) 2 대소문자 구분 np.zeros(5) np.Zeros(5) 3 library의 적절한 impor..

Python 2022.04.13

[Python - Error] SyntaxError: unexpected EOF while parsing - 코드 구문이 잘못 되었을 때 발생하는 에러

에러 메시지 - SyntaxError: unexpected EOF while parsing - 특히 괄호 짝이 안맞을 경우 에러 메시지에서 어느 지점이 잘못 되었는지 정확히 보여주지 못할 때가 존재 1 2 3 4 File "d:/14-ETC/VisualStudioCode/python/20200901_Test/main.py", line 79 ^ SyntaxError: unexpected EOF while parsing cs 해결 방법 - 괄호 쌍, 따옴표 쌍 등 구문이 알맞게 적혀있는지 확인 - 문제 발생 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import glob import os class PRACTICE: def __init__(self): return ..

Python 2020.09.02

[Fortran - Compile Error] Error: Unexpected STATEMENT FUNCTION statement at (1) - 포트란 코드 컴파일 에러

에러 메시지 문제 발생 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 PROGRAM Unexpected_STATEMENT_FUNCTION IMPLICIT NONE INTEGER :: i DOUBLE PRECISION :: a ! Error line, "a" is NOT array DOUBLE PRECISION, ALLOCATABLE :: b(:) ALLOCATE(b(4)) DO i = 1, 4 a(i) = i ! Error line refered by compiler, "a" is array b(i) = i*10.d0 ENDDO WRITE(*,*) ">> a:", a WRITE(*,*) ">> b:", b END PROGRAM Unexpected_STATEME..

Fortran 2020.08.28

[Fortran - Compile Error] Error: IF clause at (1) requires a scalar LOGICAL expression - 포트란 컴파일이 안될 때

에러 메시지 >> Error: IF clause at (1) requires a scalar LOGICAL expression 1 2 3 4 5 ./SOURCE/{file_name}.f90:8523.9: IF(DEAD_SIDE_TM(I))THEN 1 Error: IF clause at (1) requires a scalar LOGICAL expression cs 해결방법 - 에러 메시지가 IF 문에는 logical 표현이 필요하다고 하니, integer 변수 DEAD_SIDE_TM(I)만 사용하지 말고, logical 표현으로 변경 - 문제 발생 코드 1 2 3 4 5 IF(DEAD_SIDE_TM(I)) THEN ... ENDIF cs - 변경 및 해결 완료 코드 1 2 3 4 5 IF(DEAD_SIDE..

Fortran 2020.08.07