# 1. 클로저(Closure)
* 함수 안의 함수를 결과로 반환할 때 , 그 내부 함수를 클로저라고 함
* 콜백함수, 함수의 순차적 실행, 데코레이터 함수에 사용

# mul1, mul2, mul3 ... mul100도 만들어야하나?
class Mul:
def __init__(self, m):
self.m = m
def mul(self, n):
return self.m * n
# 클로저 사용하기
def mul(m): #외부 함수
def wrapper(n):#내부 함수(클로저)
return m * n
return wrapper
# 2. 데코레이터(Decorator)
* 함수를 꾸며주는 함수
* 함수를 인수로 받는 클로저
* @를 이용하여 사용
* 반복되는 작업을 여러 함수에 적용할 경우, 기존함수를 수정하지 않고 추가 기능을 구현하고 싶은 경우 사용
# 데코레이터 만들기
def func1(a,b):
result = a+b
return result
def func2(a,b):
result = a*b
return result
'Python' 카테고리의 다른 글
파일 읽기 및 저장하기 (0) | 2023.03.14 |
---|---|
변수 타입 어노테이션 (0) | 2023.03.13 |
파일 입출력 (0) | 2023.03.13 |
12.사용자 정의 함수 (0) | 2023.03.09 |
파이썬 실수값 오차 (3) | 2023.03.07 |