• 지역 변수 : 함수 내에 선언된 변수
  • 전역 변수 : 어디에서나 접근이 가능한 변수
a = 123         # 전역 변수

def test():
    b = 456     # 지역 변수
    print(a, b)     # 123 456
  • 함수 내에서 전역 변수와 같은 이름의 지역 변수 선언 가능
a = 123         # 전역 변수

def test():
    a = 456     # 지역 변수
    print(a)        # 456
  • global 키워드 : 전역변수임을 선언
    • 함수 내에서 전역변수에 접근 가능
a = 123         # 전역 변수

def test():
    global a
    print(a)        # 123
  • nonlocal 키워드 : 지역변수가 아님을 선언
    • 중첩 함수구조에서 안쪽 함수에서 바깥쪽 함수의 변수에 접근가능
def test1():
    a = 123

    def test2():
        nonlocal a
        print(a)    # 123