inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

functions(1-2)

중첩함수 질문입니다.

240

ABCDEdu

작성한 질문수 6

2

안녕하세요.

def nested_func(num):

    def func_in_func(num):

        print(num)

    print("In func")

    func_in_func(num + 100)

nested_func(100)

수업 예제 코드에서

print(num)이 있는데, num은 문자라서 print가 안 되긴 하는 것 같은데, 저 코드가 꼭 들어가야 하는 이유가 무엇인가요?

코드 논리 흐름이 좀.. 잘 이해가 안 되네요..

논리 흐름좀 짚어서 설명해주시면 감사하겠습니다!

중첩함수 python

답변 3

3

haon

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

haon

길지만 되도록 줄였으니까 끝까지설명을 읽어주시면 감사합니다!

54강 4분 41초에서 질문 있어요.

0

29

1

import

0

26

1

45강 예제4번에서 질문 있어요!

0

39

1

45강 강의 10분 03초 내용에서 x + 1 을 하는 이유는 뭔가요?

0

33

1

3강, 7강 화면이 안나옵니다. 그냥 검은화면으로만 노출되요;;

0

31

1

41강 1분 39초 영상에서 import test_module이 조회 안 돼요.

0

38

1

29강 while(3-1) 5분 20초 강의 영상 질문

0

37

0

pcskjs@naver.com

0

44

1

인터프리터 설정이 안됩니다.

0

49

1

Python formatter 설치

0

33

1

자료 다운로드 위치 확인 부탁드립니다.

0

38

2

보라색 예약어

0

29

1

#을 붙이는 이유

0

30

1

실행이 안 되는데요.

0

28

1

print 문법 실행 안 돼요.

0

33

1

영문 계정

0

28

1

맥북에서 아이패드로 연결해서 보려고 하면 화면이 안뜹니다.

0

26

1

인스턴스 변수 문의

0

67

1

챕터 03_04 (튜플) 교육자료

0

74

2

Package(3-1) Sub 폴더 자료

0

59

1

아톰 출력 안됨

0

101

2

강의자료 메일 발송 요청 드립니다.

0

110

1

강의자료 메일로 보내주실 수 있으실까요?

1

67

0

Iterable 요소는 리스트로 작성해야하는 것 맞나요?

1

93

2