inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

functions(1-2)

중첩함수 질문입니다.

235

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

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

인스턴스 변수 문의

0

55

1

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

0

56

2

Package(3-1) Sub 폴더 자료

0

47

1

아톰 출력 안됨

0

85

2

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

0

87

1

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

1

58

0

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

1

83

2

강의자료 부탁드립니다

0

75

2

if Flase: print('Bad')

0

76

1

=와 == 의 차이

0

93

1

functions 함수 섭들을려고하는데요

0

74

1

강의자료 부타드리겠습니다!

0

61

0

VSCODE에 VIEW에서 SELECTED INTERPRETER조회가 안됩니다.

0

71

1

강의자료 부탁드립니다.

0

58

0

dict의 Key를 바꾸는 방법

0

82

1

강의자료부탁드립니다

0

71

1

run withount 디버깅 및 F5+ctrl이 안먹혀요

0

68

1

강의 자료와 예정 다운로드

0

80

2

객체지향 vs 함수형

0

66

1

어렵네요 설정도

0

96

1

설정이 잘 된건지

0

55

1

맥 os vscode 설정 - python interpreter select

0

113

1

강의자료 부탁드립니다. mytoughgirl@naver.com 입니다.

0

49

1

vscode로 수업 진행한 영상은 없는건가요?

0

60

2