*이 글을 읽기전에 작성자 개인의견이 있으니, 다른 블로그와 교차로 읽는것을 권장합니다.*
1. Scope(범위)
파이썬에서 변수의 범위(scope)는 해당 변수가 프로그램 내에서 참조되고 변경될 수 있는 영역을 의미합니다. 파이썬의 변수 범위는 크게 네 가지로 분류됩니다. 변수의 범위는 크게 4가지로 local, enclosing, global, built-in으로 나뉩니다. 변수이름이 겹치는 경우, local->enclosing->global->built-in 순서로 변수범위 적용, 나중에 코드작성할때 결과값이 다르게 나올 경우, 위 순서로 범위를 넓혀가며 생각하는 편이 좋습니다.
- Local(지역변수)
- Enclosing(둘러싼 범위)
- Global(전역변수)
- Built-in(내장 범위
1-1. Local
지역변수라고 하며, 변수가 함수 내에서 정의될 때 해당 함수 내부를 의미합니다.
#Local
def a():
local_var='Local변수'
print(local_var)
a()
1-2. Enclosing
내부 함수에서 외부 함수의 변수를 참조할 때 해당 외부 함수 범위를 의미합니다. 함수안에 함수를 생성하는데, 부모함수안에 있는 변수는 내부함수 안에서 사용가능합니다.
#Enclosing:
def a():
enclosing_var='enclosing변수'
def b():
print(enclosing_var)
b()
a()
1-3. Global
전역변수라고 하며, 변수가 스크립트의 최상위 수준에서 정의될 때 전체 스크립트 파일 내에서의 해당 변수로 사용됨을 의미합니다.
#global
global_var='global변수'
def a():
print(global_var)
a()
#Local변수와 Global변수의 차이점
var=1001 #global변수 선언
def a():
var=10 #lcoal변수 선언
print(var) #local변수 출력
a()
print(var)
외부 global변수를 local변수로 사용할 땐, global문을 사용한다.
#global변수를 local변수로 동일화시키기
var=1001 #global변수 선언
def a():
global var #전역변수->지역변수로 수정
var=10
print(var)
a()
print(var)
1-4. Built-in
파이썬의 내장 함수와 모듈들이 속하는 범위입니다. 예를 들어, print(), len() 같은 함수들이 여기에 해당됩니다.
#Built-in
print(print)
print(len)
print(sum)
'Python 기초' 카테고리의 다른 글
파이썬 기초(14)-객체지향(OOP)과 클래스(Class) (0) | 2024.03.18 |
---|---|
파이썬 기초(13)-콜백함수와 람다함수 (0) | 2024.03.18 |
파이썬 예제-3. 반복문 (0) | 2024.03.17 |
파이썬 기초(10)- 컬렉션과 반복문 (0) | 2024.03.15 |
파이썬 기초(11)-사용자 정의함수 (0) | 2024.03.15 |