• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

안녕하세요 -함수관련 질문입니다.

21.01.20 23:45 작성 조회수 77

0

안녕하세요 선생님.

함수만드는 부분에서 궁금한점이 있어서요.

함수를 만들때 함수 인자값에,  적용할 이름만 넣어주는 것과, 

이름  = None 이렇게적는것과  어떻게 달라지느 것인지 잘모르겠습니다.

예를 들면

def get_clf_eval(y_test, pred=None, pred_proba=None):

이런식에서 앞에 y_test 와 나머지 None을 붙였을 때의 차이가 궁금합니다.

답변 1

답변을 작성해보세요.

0

안녕하십니까,

큰 차이는 없습니다만, 이름=None 이렇게 넣어주면 함수 호출 시 굳이 인자를 넣지 않아도 되는데, 이름만 넣어주면 함수 호출시 인자를 반드시 넣어줘야 합니다.  가령 아래 예제에서 get_clf_eval1()은 y_test 값만 넣어줘도 pred, pred_proba는 기본적으로 None이 입력되어서 문제가 없는데, get_clf_eval2()는 y_test값만 넣으면 pred, pred_proba 인자가 없다고 오류가 발생합니다.

def get_clf_eval1(y_testpred=Nonepred_proba=None):
  pass

def get_clf_eval2(y_testpredpred_proba):
  pass

get_clf_eval1(y_test=1)
get_clf_eval2(y_test=1)
감사합니다.