함수의 parameter에 default 값을 정의해 줄 수 도 있습니다. Default 값이 정의된 parameter는 함수가 호출될때 값이 넘겨지지 않아도 괜찮습니다. 값이 넘겨지지 않은 경우 default 값이 자동으로 넘겨지게 됩니다.
파이썬에서의 파라미터를 받는 순서는 다음과 같고, 이 순서를 지키지 않으면 오류가 발생한다.
파라미터를 정의하는 순서 없이 무작위로 생성 시 함수는 어떤 파라미터에 어떤 값을 받아야 될 지 정할 수 없기 때문이다.
def love_you(my_name = "정우성", your_name): print(f"{my_name} loves {your_name}") //**SyntaxError
def example(a, b, c=None, r="w", d=[], *ae, ****ab) a,b: positional parameter c=none: optional parameter r="w": keyword parameter d=[]: list parameter *ae: keyword-only **ab: var-keyword parameter
def love_you(my_name = "정우성",*, your_name): print(f"{my_name} loves {your_name}") //**None**
파이썬에는 args의 우선순위가 있는데 해당 args가 포함하게되면 우선순위를 지켜야 한다.
Regular positional args -> Default args -> Variable length positional args ->
Non-default args -> Keyword-Only args with default -> Variable length kwargs**