본문 바로가기
파이썬/파이썬 기초 문법

파이썬 변수의 범위

by 쵠몽 2024. 9. 30.

1. 스코프(scope)

 

 

 

1-1. 지역 변수(Local): 내부 함수에서만 사용할 수 있는 변수이다 .

def local_func():
    local_var = '로컬 변수'
    print(local_var)
    
local_func()
print(local_var) # NameError: name 'local_var' is not defined

 

1-2. 둘러싼 범위(Enclosin): 내부 함수에서 외부 함수의 변수를 참조할 때 해당 외부 함수의 범위를 의미한다.

def outer_func():
    enclosing_var = '둘러싼 범위 변수'

    def inner_func():
        print(enclosing_var)

    inner_func()
    
outer_func()
inner_func() # 내부 함수는 부를 수 없음

 

1-3. 전역 범위(Global): global_var 전역 변수와 지역 변수가 이름은 동일하지만 서로 다른 변수로 저장된다.

global_var = '글로벌 변수'

def test_func():
    print(global_var)

 

global_var = 10 # 전역 변수

def test_func():
    global_var = 20 # 지역 변수
    print(global_var)

test_func()
print(global_var)
global_var = 10 # 전역 변수

def test_func():
    global global_var
    global_var = 20 # 지역 변수
    print(global_var)

test_func()
print(global_var)

 

1-4. 내장 범위(Built-in): 내장 함수와 모듈이 속하는 범위이다. print(), len() 등이 해당된다.

 

 

 

 

2. 변수의 범위 탐색 순서

 

(1) Local scope

 

(2) Enclosing scope

 

(3) Global scope

 

(4) Built-in scope

'파이썬 > 파이썬 기초 문법' 카테고리의 다른 글

객체지향과 클래스  (0) 2024.10.14
파이썬 콜백 함수와 람다 함수  (1) 2024.10.07
파이썬 사용자 정의 함수와 None  (0) 2024.09.30
파이썬의 컬렉션과 반복문  (1) 2024.09.26
Input 함수  (0) 2024.09.26