문제상황:
파이썬에서 작성한 코드에서 변수를 사용하기 전에 정의하지 않으면 NameError가 발생합니다. 실무에서 사용될 수 있는 코드 예시는 다음과 같습니다.
def calculate_area():
area = width * height
width = 10
height = 5
calculate_area()
위 코드를 실행하면 다음과 같은 에러로그가 발생합니다.
NameError: name 'width' is not defined
해결방법:
에러가 수정된 코드와 수정된 부분에 대한 주석을 포함합니다.
# 수정된 부분: 함수 인자로 width와 height를 전달합니다.
def calculate_area(width, height):
area = width * height
return area
width = 10
height = 5
result = calculate_area(width, height)
원인분석:
이 에러는 함수 내에서 지역 변수로 정의되지 않은 변수를 참조하려고 할 때 발생합니다. 위의 코드에서 calculate_area() 함수 내에서 width와 height 변수를 참조하려 했지만, 함수 내에서 정의되지 않았기 때문에 NameError가 발생했습니다.
수정된 코드에서는 함수 인자로 width와 height를 전달하고, 함수 내에서 인자를 사용하여 면적을 계산하도록 수정했습니다. 이렇게 하면 NameError가 발생하지 않습니다.
참고링크:
728x90