지역변수와 전역변수 구분 기준은 무엇일까?
변수의 유효한 범위가 기준이다.
- 지역변수 : 함수 내에서만 유효한 변수 (함수를 벗어나면 더 이상 유효하지 않음), 함수 내부에서 선언
- 전역변수 : 코드 전반에 걸쳐 유효한 변수, 함수 바깥 위치에서 선언, global키워드 사용
param = 10
strdata = '전역변수'
def func1():
strdata = '지역변수'
print(strdata)
def func2(param):
param = 1
def func3():
global param
param = 50
func1() # '지역변수' 출력됨
print(strdata) # '전역변수' 출력됨
print(param) # 10 출력됨
func2(param)
print(param) # 10 출력됨
func3()
print(param) # 50 출력됨
func3의 param변수를 보면 함수 내부에서 global키워드를 통해 전역변수에 접근하는 것을 알 수 있다. 맨 윗줄(line 1)에 보면 함수 외부에서 전역변수 param을 선언했다. 10이라고 초기화한 param 변수는 func3에서 global param으로 param의 값을 50으로 변경되었기 때문에 마지막 줄에서 param을 출력해보면 50이 출력된다.
'Python' 카테고리의 다른 글
[python][basic] module, package 이해하기 (0) | 2021.10.16 |
---|---|
[python][basic] 함수 return값 이해하기 (0) | 2021.10.16 |
[python][basic]함수 인자 이해하기 (매개변수, 가변 인자 *args, **kwargs) (0) | 2021.10.16 |
[python][basic] 파이썬 코딩 컨벤션 정리 (0) | 2020.12.29 |
[python][basic] 파이썬 외장함수 (0) | 2020.12.27 |