본문 바로가기

코딩/파이썬

변수의 범위

스코프

변수의 범위(scope)는 해당 변수가 프로그램 내에서 참조되고 변경될 수 있는 영역인데,

크게 네 가지로 분류된다~!

 

- Local(지역)

: 변수가 함수 내에서 정의 될 때 해당 함수 내부를 의미한다.

def local_example():
	local_var = '로컬 변수'
    print(local_var)
local_example()
# print(local_var) # NameError: name 'local_var' is not defined 선언되어 있지 않음.(함수 내부에서만 쓸 수 있음)

 

로컬 변수

 

- Enclosing(둘러싼 범위)

: 내부 함수에서 외부 함수의 변수를 참조할 때 해당 외부 함수의 범위를 의미 함.

def outer_function():
	enclosing_var = '둘러싼 범위 변수'
    def inner_function():
    	print(enclosing_var)
    inner_function()
outer_function()

 

둘러싼 범위 변수

 

- Global(전역 범위)

: 스크립트의 최상위 수준에서 정의될 때 전체 스크립트 파일 내에서 해당 변수로 사용됨을 의미

global_var = '글로벌 변수'

def test_global_scope():
	print(global_var)
test_global_scope()

 

글로벌 변수

 

# 전역변수와 지역변수
global_var = 10 # 전역변수

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

 

20

10

 

# 전역변수와 지역변수
global_var = 10 # 전역변수

def modify_global():
	global global_var
    global_var = 20 # 전역변수
    print(global_var)
  
  modify_global()
  print(global_var)

 

20

20

 

- Built-in(내장 범위)

: 파이썬의 내장 함수와 모듈들이 속하는 범위입니다. 예를 들어, print(), len() 같은 함수들이 여기에 해당

 

print(print)
print(len)
print(sum)

 

<built-in function print>

<built-in function len>

<built-in function sum>

 

변수의 범위 탐색 순서

1. Local scope

2. Enclosing scope

3. Global scope

4. Built-in scope

'코딩 > 파이썬' 카테고리의 다른 글

객체지향과 클래스1  (0) 2024.03.19
콜백함수와 람다함수  (0) 2024.03.19
사용자 정의 함수  (0) 2024.03.18
컬렉션과 반복문  (0) 2024.03.15
제어문 - 반복문  (0) 2024.03.15