2.4.4 변수를 사용할 때 유의할 점
반려동물 예제에서 변수를 코드 시작 부분에 정의했지만, 반드시 그럴 필요는 없습니다. 변수에는 다음과 같은 특징이 있기 때문입니다.
• 변수는 사용하기 전에 정의한다.
• 변수는 사용하기 전에 마지막으로 저장한 값을 사용한다.
어떤 의미인지 살펴보겠습니다. 코드에서 name 변수를 다음처럼 print() 문 중간으로 옮겨 정의하고 실행해 봅시다.
animal = "개"
age = 4
hobby = "산책"
print("반려동물을 소개해 주세요.")
print("우리 집 반려동물은 " + animal + "인데, 이름이 " + name + "예요.")
name = "연탄이"
print(name + "는 " + str(age) + "살이고, " + hobby + "을 아주 좋아해요.")
실행결과 |
NameError: name 'name' is not defined |
오류가 발생하고 오류 메시지를 출력합니다. ‘name이라는 변수를 아직 정의하지 않았다’고 하네요. 즉, name 변수를 정의하기 전에 print() 문에서 사용하려고 해서 오류가 발생했다는 뜻입니다. 이처럼 변수는 사용하기 전에 정의해야 합니다.
TIP | 오류 메시지가 나오지 않는다면 기존 코드를 삭제하고 해당 코드만 단독으로 실행해 보세요. 기존 코드가 있으면 앞에서 정의한 name 변수의 값을 사용하게 돼서 오류가 발생하지 않습니다.