inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]

flask 깊은 이해를 위한 파이썬 중급 문법: first class function

중첩함수 인자값 관련 이해못하는 부분이 있어서 문의 드려요

304

가후

작성한 질문수 90

2

flask 깊은 이해를 위한 파이썬 중급 문법: first class function

강의의 10분 21초 내용 입니다.

def html_creator(tag):

    def text_wrapper(msg):

        print('<{0}>{1}</{0}>'.format(tag, msg))

    return text_wrapper

이렇게 함수를 만들고

h1_html_creator = html_creator('h1')

html_creator 에 인자값을 h1을 넣으면

tag 인수에 h1이 할당이 되고나서

h1_html_creator('Hi 태그는 타이틀을 표시하는 태그입니다')

이렇게 인자 값을 넣으면

def text_wrapper(msg)

여기 함수 msg

인자값이 할당이 된다고 영상에 설명되어있습니다.

왜 msg에 인자값이 할당이 되는지 이해를 못하겠습니다...

중첩함수이고, 

def html_creator(tag)  여기 함수에 인자값이 할당이 되어있으니

추가로 인자값을 넣으면 

다음 함수인

def text_wrapper(msg)

여기에 인자값이 들어간다고 이해 하면되나요?

python rest-api flask

답변 3

2

잔재미코딩 DaveLee

안녕하세요.

제가 문의를 잘 이해한 것인지 잘 모르겠는데요. 복잡한 내용이라서 ㅎㅎ

-------------

def html_creator(tag):

    def text_wrapper(msg):

        print ('<{0}>{1}</{0}>'.format(tag, msg))

    return text_wrapper

h1_html_creator = html_creator('h1') #1

-------------

위와 같이 작성하면, html_creator() 에 h1 이 들어간 text_wrapper() 함수가 리턴이 됩니다. 즉 다음과 같은 코드가 h1_html_creator  변수에 리턴이 됩니다.

--------

    def text_wrapper(msg):

        print ('<{0}>{1}</{0}>'.format('h1', msg))

--------

따라서, h1_html_creator('내용') 와 같이 내용을 넣게 되면, 결과적으로는 다음과 같이 넣어지는 셈이라서,

--------

    def text_wrapper('내용'):

        print ('<{0}>{1}</{0}>'.format('h1', '내용'))

--------

출력 결과는 다음과 같이 진행이 됩니다.

<h1>내용</h1>

이렇게 이해안가시는 부분들은 시각적으로 써보시면, 훨씬 이해하는데 도움이 되지 않을까 생각합니다.

감사합니다.




1

집요한

저도 이 부분이 이해가 안됐는데 (그냥 저렇게 되는구나 라고 생각만 함..) 아마 비슷한 곳에서 어렵게 느끼나봐요 ㅎㅎ 그래도 이렇게 설명이 있으니까 잘 이해됐어요. 

그런데 h1_html_creator =  html_creator('h1') 이 코드에서 h1_html_creator는 변수인데 함수를 할당하고 나서는 마치 함수처럼 h1_html_creator('내용') 작동 하는 것 같은데 맞나요? 

1

가후

쉽게 알려주셔서 감사합니다! 이해되었습니다!

강의 자료 어디서 다운받나요? 없는데요..

0

150

1

강의 영상은 안나오고 소리만 나옵니다.

0

177

1

섹션 6 인증 failed 질문

0

153

1

섹션 8 flask 다양한 기능: 다양한 데코레이터 before_first_request 문의

0

358

3

192.168.0.12:8085??

0

154

1

04_flask_ABTest에서 blog_abtest.py 실행 시 오류입니다.

0

171

1

수업내용 질문 건

0

186

1

brew로 mysql 설치 후 서버 실행할 때, 터미널에서 anaconda bin 참조하는 문제

0

662

2

crossorigin 프로퍼티에 대해서 질문드립니다.

0

288

1

강의자료 다운로드 문의드립니다.

1

267

1

갑자기 웹 서버 띄울때 이상하게 나옵니다

0

313

1

가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다. (2)

0

345

1

가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다.

0

321

2

Fast api 추가 강좌 개설여부 질문드립니다!.

0

316

2

flask_cors설치 오류

0

618

2

부스트랩 html 다운

0

257

1

혹시 강의자료 공유가 가능한가요?

0

354

1

소스코드는 어디에 있을까요??

1

254

1

안녕하세요 몇가지 질문이 있습니다.

0

339

1

동적함수생성 질문드립니다.

1

630

2

(강의명) flask 로 Rest API 구현과 테스트 실행 : 오류 문의

0

576

1

백엔드 데코레이터 2 강의에 도전 문제 질문드립니다

0

288

1

몽고 DB 공식홈페이지 403 접속 에러 발생합니다.

1

624

3

04._flask_ABTest Pycharm 에서 실행오류

0

487

1