본문 바로가기

카테고리 없음

함수

파이썬 함수에는 Parameter(매개변수)와 argument(인자)가 있다.

 

 

parameter는 함수 정의할 때, 함수 내부에서 사용될 변수를 의미한다.

실제로 함수에 어떤 값들이 들어올 때, 이거를 받기 위한 바구니 역할을 한다.

그리고 argument는 함수를 실제로 호출할 때, 함수에 전달되는 구체적인 데이터를 의미한다.

함수의 결과값은 또 변수에 담아서 이용할 수도 있다.

 

def add(a, b):
    return a + b

a와 b는 parameter고, 내가 add(150, 1000)이렇게 구체적인 숫자를 넣어서 부를 때 들어가는 저숫자가 argument.

 

 

#default

함수는 parameter에 default값을 지정할 수 있다. 

#당근마켓
#판매자와 구매자가 물품 판매 약속잡기
#판매자 이름, 구매자 이름, 약속장소

def carrot(seller="삼성", buyer="SPACE X", place="테네시"):
    print(f"판매자{seller}님 약속 늦지 마세요")
    print("%s님, 돈 챙겨 오세요."%buyer)
    print("{}에서 만나요".format(place))

carrot("태양", "지수", "에펠탑")

#default값 지정가능 이 경우엔 argument 없어도 됨.
carrot()

 

 

 

 

 

#decorator

#decorator
def whipped_cream(func):
    def wrapper():
        return func() + ", 휘핑크림 추가"
    return wrapper

def syrup(func):
    def wrapper():
        return func() + ", 시럽 추가"
    return wrapper

#이 @로 함수를 이어주는 것.
@whipped_cream
@syrup
def order_coffee():
    return "아메리카"

order_coffee()

원래 order_coffee()함수만 있었다고 하면, 저 위에 syrup()과 whipped_cream() 함수가 데코 역할을 하는

추가 함수다.

데코함수는 parameter로 func ⇒ 함수를 받는다.

그리고 이 기능들을 이어주고 싶은 함수 위에 @를 통해서 이어주면 된다.