더북(TheBook)

3.8 변수와 인자는 지역 범위다

함수 안에 변수를 생성하면 변수는 지역(local) 범위다. 즉, 변수는 함수 안에서만 존재하는 것이다. 예를 들면

def cat_twice(part1, part2):

cat = part1 + part2

print_twice(cat)

cat_twice 함수는 인수 두 개를 받아서 하나로 연결하고 결과를 두 번 출력한다. 이 함수를 사용하는 예제를 보자.

>>> line1 = 'Bing tiddle '

>>> line2 = 'tiddle bang.'

>>> cat_twice(line1, line2)

Bing tiddle tiddle bang.

Bing tiddle tiddle bang.

cat_twice 함수가 종료될 때 cat 변수로 파괴된다. cat 변수를 출력하려고 하면 예외가 발생한다.

>>> print(cat)

NameError: name 'cat' is not defined

인자도 지역 범위다. 예를 들어 print_twice 바깥에서는 bruce를 이용할 수 없다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.