카테고리 없음

파이썬 함수 디폴트 설정(:와 = 의 차이)

민수 2022. 3. 18. 07:26

쉽게 이해된다고 해서 제대로 암기하지 않으면 낭패를 보는 수가 있다. 

함수 정의시 디폴트 값 설정은 : 로 해도 상관없고 =로 해도 크게 상관없다. 

함수 디폴트 값 설명을 위한 예시 이미지1

위 그림은 test1 과 test2 라는 함수가 각각 value 디폴트 값을 126으로 설정된 모습이다. 

만약 호출 시 value 값을 입력 받았다면 입력 받은 값을 value 로 취하는 출력 하는 모습이다.    

  

위 내용은 아주 기초적인 내용이고 직관적이기 때문에, 특별히 신경쓰지 않고 평소 혼용해서 사용했다.

그리고 당연히 두 가지 경우 모두, 값을 입력하지 않으면 value값은 126으로 동작할 것이라 생각했다. 

 

그러나 두 함수는 차이가 있다. 

함수 디폴트 값 설명을 위한 예시 이미지2

위 그림을 보자. 인자값을 주지 않은 경우 test2 함수는 디폴트값을 이용해 잘 작동한 반면, 

test1 함수는 인자값 누락으로 에러가 났다.  

 

이런 사소한 부분을 더욱 신경써야 겠다고 생각했다.