"변수에 대해서"
- global : 전역 변수
- global을 앞에 붙이면 함수 밖에서 선언한 전역 함수를 가르키게
- 함수 안에서 값을 변경하면 그 값이 출력됨
- 일반 함수 내에서 전역 변수를 사용할 때 사용
- nonlocal : 비지역 변수
- nonlocal을 앞에 붙이면 함수 밖에서 선언한 비지역 함수를 가르키게 됨
- 중첩 함수 내에서 상위 함수의 변수를 사용할 때 사용
- 중첩 함수에서 global을 사용하면 에러남 >> 이럴 때 nonlocal을 사용해줌
- 프로그래머스는 def로 시작하는 문제 형식이므로 dfs의 중첩 def(함수)를 사용할 경우 nonlocal을 사용해 주어야 함
- local : 지역 변수
- 함수 밖 함수와 다른 지역 함수임을 알림
a = 3 #전역 변수
def func():
a = 5 #지역함수
global a
a = 8 #전역함수
return a
print(func())