반응형
파이썬에서는 선언한 변수의 위치에 따라 유효한 범위와 메모리의 할당이 달라집니다.
지역 변수
- 함수 내에 선언된 변수입니다.
- 지역 변수는 메모리 구조상 스택 영역에 저장되며, 함수의 호출과 함께 할당되어 함수의 호출이 완료되는 시점에 소멸됩니다.
전역 변수
- 함수 밖의 전역 공간에 선언된 변수이며, 함수 내에서 사용하기 위해서 global 키워드를 사용합니다.
- 전역 변수는 메모리 구조상 데이터 영역에 저장되며, 프로그램 시작과 함께 할당되어 프로그램이 종료되면 소멸됩니다.
파이썬 지역 변수와 전역 변수의 유효한 범위와 예시
예시 1
- 일반적인 지역변수 사용합니다.
def func1():
var = "지역 변수"
print(var)
func1()
출력:
지역 변수
예시 2
- 일반적인 전역변수 사용합니다.
var1 = "전역 변수"
def func2():
var2 = "지역 변수"
print(var1)
print(var2)
func2()
출력:
전역 변수
지역 변수
예시 3
- 함수 내의 지역 변수를 선언하고, 함수 밖의 전역 변수를 선언합니다.
- global 키워드를 사용하여 함수 내에 전역 변수의 값을 재 할당하여 출력합니다.
- 즉, 함수 내에 전역 변수를 제어합니다.
var1 = "전역 변수"
def func3():
var2 = "지역 변수"
global var1
var1 = "함수내 전역 변수의 값 재할당"
print(var1)
print(var2)
print(var1)
func3()
print(var1)
출력:
전역 변수
함수내 전역 변수의 값 재할당
지역 변수
함수내 전역 변수의 값 재할당
마치며...
지역 변수와 전역 변수의 차이를 알아보았습니다.
또한, 지역/전역 변수의 선언한 위치에 따라 유효한 범위의 특성을 잘 파악하여 애플리케이션 설계 및 개발에 도움이 되길 바라겠습니다.
반응형
'프로그래밍 > 파이썬(Python)' 카테고리의 다른 글
[Python] 파이썬 순열(Permutation)과 조합(Combination) (0) | 2023.08.07 |
---|---|
[Python] 파이썬 같은 숫자는 싫어 - 프로그래머스 (0) | 2023.04.02 |
[Python] 백준1260 (DFS와 BFS) - 파이썬 문제 풀이 (0) | 2023.03.24 |
[Python] 파이썬 데이터 입력 함수 및 방법 (input().split(), map()) (0) | 2023.03.21 |