13.1.3 활동범위가 다른 지역변수와 전역변수
지금까지 사용자 정의 함수를 정의하고 호출하는 방법을 배웠습니다. 이번에는 사용자 정의 함수를 사용할 때 오류가 가장 많이 발생하는 부분인 지역변수와 전역변수의 개념을 다뤄 보겠습니다.
특정 지역에서만 사용하는 지역변수
다음 코드를 실행해 봅시다.
def hi():
name = input('이름은? ')
print('hi!')
print('My name is', name, '!')
print('자기소개를 시작합니다.')
hi()
print(name, '님 안녕하세요.')
실행결과
자기소개를 시작합니다.
이름은? 제임스
hi!
My name is 제임스 !
---------------------------------------------------------------------------
----> 8 print(name, '님 안녕하세요.')
NameError: name 'name' is not defined
name 변수가 정의되지 않았다며 NameError 오류가 발생합니다. 분명 코드에 name 변수가 있는데 왜 정의되지 않았다고 나올까요?