파이썬 lambda, 장식자

parkeu·2022년 10월 25일
0

ABC부트캠프

목록 보기
47/55

🐼 간단설명

aaa = lambda x, y : x+y
# 위 아래는 같은 의미임
def aaa(x, y):
	return x+y

def base(base_number):
    def wrap(x, y):
        return x+y+base_number
    return wrap

base10 = base(10) # 함수를 만드는 함수
print(base10(1, 2))

def base(base_number):
	wrap = lambda x, y : x+y+base_number
    return wrap

base10 = base(10) # 함수를 만드는 함수
print(base10(1, 2))

장식자

def base_10(fn):
    def wrap(x,y):
        return fn(x,y)+10
    return wrap
def mysum2(x, y):
    return x+y
mysum2 = base_10(mysum2) # 함수 자체를 넘기고 같은 함수의 이름으로 받음

장식자로 표현!

def base_10(fn):
    def wrap(x,y):
        return fn(x,y)+10
    return wrap
@base_10
def mysum2(x, y):
    return x+y
profile
배고파용.

0개의 댓글