일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- windows
- office
- 윈도우11
- Android
- pythongui
- Windows10
- 비주얼베이직
- Excel
- 윈도우10
- win32com
- python
- 파이썬3
- VBA
- Windows11
- 파워포인트
- pandas
- 아웃룩
- python3
- matlab
- 깃
- 안드로이드
- git
- 파이썬
- pyqt5
- html
- 파이썬GUI
- Outlook
- 문자열
- 엑셀
- 오피스
Appia의 IT세상
파이썬[Python] 지역 변수(Local Variable), 전역 변수(Global Variable)에 범위 및 함수안에서 전역변수 접근방법 본문
파이썬[Python] 지역 변수(Local Variable), 전역 변수(Global Variable)에 범위 및 함수안에서 전역변수 접근방법
Appia 2020. 5. 19. 07:21이번 포스팅은 변수의 영역에 대해서 이야기를 한번 해보고자 합니다. 알시다시피 변수의 종류에는 크게 2가지 형태로 나누어집니다. 하나는 코드 전체 영역에서 사용할 수 있는 전역 변수입니다. 또 다른 하나는 특정 함수 및 클래스 범위 안에서 사용할 수 있는 지역 변수입니다.
그럼 먼저 간단하게 다음을 한번 살펴보겠습니다.
example)
def print_var():
print(vars)
vars = "Welcome Appia"
print_var()
|
cs |
result)
Welcome Appia
|
cs |
먼저 vars라는 변수를 선언하고 이를 출력하는 print_var()라는 함수를 구동했습니다. 위의 결과 vars의 입력된 결과가 출력이 되었습니다. 여기에서 vars는 전역 변수입니다. 파이썬뿐 아니라 다른 언어에서도 기본적으로 전역변수로 선언된 변수를 특정 영역 즉 함수라던지 특정 범위안에서 접근이 가능합니다.
그럼 다음 다음 예시를 한번 살펴보겠습니다.
example)
def print_var():
vars = "Hello Appia"
print(vars)
vars = "Welcome Appia"
print_var()
print(vars)
|
cs |
result)
Hello Appia
Welcome Appia
|
cs |
변수 var는 전역변수로 "welcome Appia"를 치환하였습니다. 하지만 print_var()함수에서 var 변수에 "Hello Appia"라는 문자열을 치환하였습니다. 이 함수 안에서는 vars는 지역변수로 선언이 되었습니다. 여기에서 하나 확실히 알아둬야 할 점이 있습니다. 그 부분은 전역 변수와 지역 변수가 충돌할 때 우선순위는 지역변수에게 있다는 점입니다. 그리고, 특정 범위 내에서는 전역 변수에 특정 값들을 치환할 수 없습니다. 만약 특정 범위에서 전역변수에 대해서 치환하고 싶다면 특정 방법이 필요합니다.
특정 함수 및 특정 범위에서 전역변수에 접근하기 위해서는 특정 방법이 필요합니다. 먼저 그 범위 안에서 다음과 같이 선언해주셔야 합니다.
global 전역변수
이와 같은 형태 선언되어 있는 부분의 지역 변수에서 전역 변수를 접근할 수 있습니다. 그럼 다음 예시를 한번 살펴보겠습니다.
example)
def print_var():
global vars
vars = "Hello Appia"
print(vars)
vars = "Welcome Appia"
print_var()
print(vars)
|
cs |
example)
Hello Appia
Hello Appia
|
cs |
위의 함수는 전역변수로 선언된 vars라는 변수를 함수 print_var에서 관련된 값을 바꾸어버립니다. 그 중심에는 바로 global vars라는 부분이 존재합니다.
오늘은 전역변수와 지역변수에 대해서 살펴보면서 전역변수를 특정 지역(함수 안)에서 관련된 값을 업데이트 하는 방법에 대해서 살펴봤습니다.
파이썬은 매우 가볍고 간편하지만, 전역변수에 있어서는 살짝 주의가 필요합니다. 혹시 궁금하신점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글남겨주시길 바랍니다. (여러분의 댓글및 공감이 저의 포스팅의 원동력입니다. 가사합니다. )
'Python > Python 기본' 카테고리의 다른 글
파이썬[Python, Pillow] 이미지 처리를 위한 Pillow 모듈 설치 (0) | 2020.08.20 |
---|---|
파이썬[Python] Pycharm (파이참)에서 테마 바꾸기 (0) | 2020.05.23 |
파이썬[Python] 중복없이 리스트 합치기, 리스트 반복하기 (0) | 2020.05.17 |
파이썬[Python] 문자열에서 공백 제거하기(replace, lstrip, rstrip,strip) (0) | 2020.05.11 |
파이썬[Python] defaultdict(기본값 있는 dictionary) - collections 모듈 (0) | 2020.04.22 |