✅ Python Function Parameters

허정원·2021년 2월 18일
0

파이썬에서 함수input parameter 를 받아서 return 한 값을 output 으로 리턴한다.

def func(parameter1, paremeter2)
  print(f" 안녕 {parameter} 잘가 {paremeter2}")

이 때 함수 parameter 에 default 값을 설정할 수 있다.

def func(parameter1, paremeter2="자바")
  print(f" 안녕 {parameter} 잘가 {paremeter2}")

default 값이 지정된 parameter2 를 default value paremeter 라고 하고
지정되지 않은 parameter1 을 non-default parameter 라고 한다.

함수를 호출 할 때 parameter2 의 값을 전달하지 않아도 출력이 된다.

func("파이썬")
--> 안녕 파이썬 잘가 자바

여기서 default value parameternon-value parameter 보다 우선 해서 사용하게 되면 에러가 발생한다.

def func(parameter1="파이썬", paremeter2)
  print(f" 안녕 {parameter} 잘가 {paremeter2}")
--> SyntaxError: non-default argument follows default argument  

오류가 나는 이유를 생각해 봤을 때 간단했다. default value 를 주었다고 하더라도 호출 할 때 값을 전달하면 default 값이 아니라 전달받은 값이 출력된다.

def func(parameter1, paremeter2="자바")
  print(f" 안녕 {parameter} 잘가 {paremeter2}")

func("파이썬","자바스크립트")
--> 안녕 파이썬 잘가 자바스크립트

이와 같은 이유로 defalut value parameter 를 우선 사용하게 되면 사용자가 호출 시 생략한 parameter함수의 어느 parameter 를 가르키는지 알 수 없어지면서 원하는 결과를 얻지 못하기 때문에 사전에 차단하는 것 같다.

0개의 댓글