nonlocal variable
- outer function 안이면서 inner function 밖의 영역의 변수 (local도 global도 아닌 nonlocal)
- python에서는 외부 영역의 변수에 대해 읽기는 가능하나 쓰기는 제한적
- 이때 nonlocal 예약어를 사용하면 inner function에서 nonlocal variable 수정 가능
# nonlocal 사용 예시
def outer():
temp = 10
def inner():
nonlocal temp
temp += 10
print(temp)
inner()
print(temp)
outer()
# 20
# 20
✔ 예제) 프로그래머스 모음 사전
def solution(name):
temp = ['A', 'E', 'I', 'O', 'U']
count = -1
answer = 0
def recursion(s, temp, target):
# 재귀함수 내에서 호출 횟수를 구하기위해 nonlocal 예약어 사용
nonlocal count
nonlocal answer
count += 1
if s == target:
answer = count
return
if len(s) == len(temp):
return
for i in range(len(temp)):
recursion(s + temp[i], temp, target)
recursion('', temp, name)
return answer
# print(solution('EIO'))
'Programming > Python' 카테고리의 다른 글
[PYTHON] shallow copy와 deep copy를 알아보자 🌱 (0) | 2023.08.28 |
---|---|
[PYTHON] Variable Scope를 알아보자 🌱 (0) | 2023.08.21 |
Do it! 공부단 11일차 | 문제 풀이 (3) (0) | 2021.04.05 |
Do it! 공부단 10일차 | 문제 풀이 (2) (0) | 2021.03.31 |
Do it! 공부단 9일차 | 문제 풀이 (1) (0) | 2021.03.26 |