total_activ
파이썬 백엔드와 웹기술 (flask/플라스크와 백엔드 기본) 1-3 본문
Closure function
- 함수와 해당 함수가 가지고 있는 데이터를 함께 복사, 저장해서 별도 함수로 활용하는 기법으로 First-class 함수와 동일
def outer_function(num):
def inner_func();
print (num)
return '안녕'
return inner_func
closure_func = outer_func(10) <-- First-Class function
closure_func() <-- Closure 호출
def html_creator(tag) :
def text_wrapper(msg);
print ('<{0}>{1}</{0}>'.format(tag, msg)
return text_wrapper
h1_html_creator = html_creator('h1')
h1_html_creator ('말')
데코레이터 (Decorator)
- 함수 앞뒤에 기능을 추가해서 손쉽게 함수를 활용할 수 있는 기법
- Closure function을 활용
def daetime_decorator(func): <-- 데코레이터 이름, func 가 이 함수 안에 넣을 함수가 됨
def wrapper():
print ('time' + str(datatime.datatime.now()))
func()
print (datetime.datetime.now())
return wrapper <-- closure 함수로 만든다
@datetime_decorator
def logger_login_David() :
print("David login")
@datetime_decorator
def logger_login_anthony() :
print("Anthony login")
logger_login_david()
파라 미터가 잇는 함수에 Decorator 적용하기
def outer_func (func) :
def inner_func(digit1, digit2) :
함수 내용~
function(digit1, digit2)
return inner_func
@outer_func
def divide(digit1, digit2) :
print (digit1 / digit2)
divide(4, 2)
파라미터와 관계없이 모든 함수에 적용 가능한 Decorator 만들기
- 파라미터는 어떤 형태이든 결구 (args, **kwargs)로 표현 가능 -->위에 예시에서 digit1, digit2) 의 부분을 (args, **kwargs)으로 바꾸면 됨
[내용 및 사진 출처]
가장 빠른 풀스택: 파이썬 백엔드와 웹기술 부트캠프 (flask/플라스크와 백엔드 기본) [풀스택 Part1]
가장 빠른 풀스택: 파이썬 백엔드와 웹기술 부트캠프 (flask/플라스크와 백엔드 기본) [풀스택 Part1
현업에서 실제 웹서비스를 개발한 경험을 기반으로, 입문자를 위한 실제 상용화도 가능한 수준의 웹과 앱서비스를 개발하는 것을 목표로 하는 풀스택 시리즈 강의입니다. 이를 위한 첫 출발(part
www.inflearn.com
'파이썬 백엔드와 웹기술 공부' 카테고리의 다른 글
파이썬 백엔드와 웹기술 (flask/플라스크와 백엔드 기본) 1-2 (0) | 2022.01.11 |
---|---|
파이썬 백엔드와 웹기술 (flask/플라스크와 백엔드 기본) 1-1 (0) | 2022.01.10 |