Variable Scope

학습 페이지

다음과 같은 내용을 배울 것임.

  1. Scope
  2. Global
  3. Nonlocal
  4. Locals
  5. Globals

여기서 Scope는 기존 프로그래밍 언어들에서도 통용되는거 같다. 나머지는 뭘까?

Scope

전에 나동빈님이 global 이란 키워드를 알려주긴 했는데.. 보니까 해당 키워드 없이도 전역스코프는 알아서 잘 참조한다.

"""
Chapter 1
Python Variable Scope
keyword - scope, globa, nonlocal, locals, globals 
"""

"""
전역변수와 지역변수
"""

# Ex1
a = 10

def foo():
    # 전역변수 읽기 가능
    print('Ex1 > ', a)

foo()

# Ex2
b= 20
def bar():
    # 지역변수 선언
    b = 30
    print('Ex2 > ', b)

bar()
print('Ex2 > ', b)

image.png

다음의 코드를 보자.

# Ex3
c = 40
def foobar():
    c = c + 10
    print('Ex3 > ', c)

foobar() # Error

뭐가 출력될까? 달리말하자면, 함수 블록 내에서 전역변수에 접근해 수정가능할까?