Python2017. 8. 21. 23:05

지역변수는 함수 안에서 사용되는 변수이고 함수가 작동할 때 생성되며 함수가 끝나는 동시에 소멸된다.

반면 전역변수는 함수의 생성, 소멸과는 상관없이 존재하는 변수이다.


전역변수를 함수 내에서 사용할 수는 있지만 그 값을 변경하려면 'global'이라는 명령어를 사용해줘야 한다.

>>> i=1

>>> def example():

...     print i

...

>>> example()

1


이와 같은 경우 전역변수를 함수 내에서 호출하여 출력할 수 있지만, 중첩적으로 변수를 가공하는 경우 에러가 난다.


>>> x=1

>>> def example():

...     x=x+1

...     print x

...

>>> example()

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "<stdin>", line 2, in example

UnboundLocalError: local variable 'x' referenced before assignment


이때는 'global'을 사용해주면 에러가 없어진다.


>>> def example():

...     global x

...     x=x+1

...     print x

...

>>> example()

2


반응형

'Python' 카테고리의 다른 글

튜플과 리스트의 차이  (0) 2017.08.28
Lamba  (0) 2017.08.24
반환문  (0) 2017.08.21
변수의 사용  (0) 2017.08.21
Python 설치  (0) 2017.08.18
Posted by newind2000