시작하기무료로 시작하기

클로저 확인하기

조카에게 Python 프로그래밍을 가르치고 있는데, 중첩 함수를 반환하는 연습을 하고 있어요. 조카는 코드를 올바르게 작성했다고 생각하지만, 반환된 함수가 호출될 때 필요한 정보가 없을까 봐 걱정하고 있네요. 새 함수의 클로저에 필요한 비지역 변수가 모두 들어 있음을 보여 주세요.

이 연습은 강의의 일부입니다

Python으로 함수 작성하기

강의 보기

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

def return_a_func(arg1, arg2):
  def new_func():
    print('arg1 was {}'.format(arg1))
    print('arg2 was {}'.format(arg2))
  return new_func
    
my_func = return_a_func(2, 17)

# Show that my_func()'s closure is not None
print(my_func.____ is not None)
코드 편집 및 실행