중첩함수 인자값 관련 이해못하는 부분이 있어서 문의 드려요
304
작성한 질문수 90
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)
여기에 인자값이 들어간다고 이해 하면되나요?
답변 3
2
안녕하세요.
제가 문의를 잘 이해한 것인지 잘 모르겠는데요. 복잡한 내용이라서 ㅎㅎ
-------------
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('내용') 작동 하는 것 같은데 맞나요?
강의 자료 어디서 다운받나요? 없는데요..
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





