인프런 커뮤니티 질문&답변
중첩함수 질문입니다.
작성
·
222
퀴즈
Python에서 함수를 사용하는 가장 주된 이점은 무엇일까요?
코드 실행 속도를 자동으로 최적화합니다.
동일한 코드를 필요할 때마다 반복해서 재사용할 수 있습니다.
변수를 선언하지 않고 사용할 수 있게 해줍니다.
프로그램의 메모리 사용량을 항상 최소화합니다.
답변 3
3
def nested_func(num): #2
def func_in_func(num): #5
print(num) #6
print("In func") #3
func_in_func(num + 100) #4
nested_func(100) #1
안녕하세요!
순서가 복잡하니까 일단 코드안에 순서를 적어뒀습니다.
#2의 nested_func함수는 불리지않았으니까 실행이안돼죠?
그 안의 코드를 모두넘어서 밖에있는 #1코드가 먼저실행됍니다.
#1.nested_func(100)로 함수를 호출하면 #2.def nested_func(num)이 실행됩니다.
현재num은 100입니다.
그 안의 #4도 역시 호출이 되지않아서 넘어갑니다.
이제#3.print("In func")가 실행되서 출력됩니다.
다음은 #4.func_in_func(num + 100)인데 아직 num은 100이였죠?
그래서 #4.func_in_func(100 + 100)로 호출이됩니다.
#5.func_in_func(num)여기서 문제가 있습니다.
현재 num은 몇일까요? 정답[200]입니다.
마지막에 #6.print(num)은 200이 출력됩니다.
2
2





