IdoCleanCode
article thumbnail
반응형

파이썬에서 함수와 관련된 변수의 범위(scope)를 이해하는 것은 중요합니다. 변수의 범위는 해당 변수가 프로그램 내에서 접근 가능한 영역을 결정합니다.

 

지역변수 

함수내 에서 생성되고, 오직 그 함수 내에서만 접근 가능한 변수들입니다. 함수가 실행을 마치면, 이지역 변수들은 메모리에서 사라지게 됩니다.

def my_function():
    local_var = 5  # 지역 변수
    print(local_var)  # 함수 내에서 접근 가능

my_function()  # 출력: 5
#print(local_var)  # 오류 발생: local_var는 함수 외부에서 접근 불가

전역변수

함수 외부에서 정의된 변수로, 프로그램 전체에서 접근 가능합니다. 함수 내부에서 전역 변수를 변경하려면, global 키워드를 사용해 해당 변수를 전역 변수임을 명시해야 합니다.

global_var = 10  # 전역 변수

def my_function():
    global global_var
    global_var = 20  # 전역 변수의 값을 변경
    print(global_var)

my_function()  # 출력: 20
print(global_var)  # 출력: 20

 

nonlocal 키워드

nonlocal 키워드는 중첩된 함수에서 사용됩니다. 부모 함수의 지역변수를 내부 함수에서 변경하고 싶을 때 nonlocal 키워드를 사용하여 해당 변수를 nonlocal 변수로 선언합니다. 이를 통해 내부 함수에서 부모 함수의 변수를 직접 변경할 수 있습니다.

def outer():
    outer_var = "외부"
    def inner():
        nonlocal outer_var
        outer_var = "내부 변경"
    inner()
    print(outer_var)  # 출력: "내부 변경"

outer()

 

파이썬 튜토리얼

반응형
profile

IdoCleanCode

@IdoCleanCode

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!