n = 1
def func():
print(n)
func() // 1 출력
def func():
n = 1
def func2():
print(n)
func2() // 1 출력
func()
n = 1
def func():
print(n+1)
func() // error
def func():
n = 1
def func2():
print(n+1)
func2() // error
전역변수를 함수 내에서 사용할때 사용
n = 1
def func():
global n
print(n+1)
func() // 2
전역 변수가 아니라서 오류
= "NameError: name 'n' is not defined" 에러가 떴을 때
def func():
n = 1
def func2():
global n
print(n+1)
func2() // error
func()
위에 생긴 오류처럼 전역변수를도 아니고, 지역 변수도아닌 함수 내에서 사용할때 사용
프로그래머스에서 solution 함수에서 새로운 함수를 작성해 solution 함수내 변수를 사용하고 싶을때
def func():
n = 1
def func2():
nonlocal n
print(n+1)
func2() // 2
func()