Default value parameter함수가 호출될 때 파라미터에 인자를 받아 넘겨줍니다.
Non-Default value parameter함수가 호출될 때 파라미터에 인자를 받아 넘겨줄 수 있고, 인자를 넘겨주지 않아도 지정된 value를 넘겨줄 수 있습니다.
default value parameter를non-default value parameter앞에 정의하면 Syntax error가 발생합니다.
오류의 코드
def love_you(my_name = "정우성", your_name):
print(f"{my_name} loves {your_name}")

정정된 코드
def love_you(your_name, my_name = "정우성"):
print(f"{my_name} loves {your_name}")
love_you("Tanon Kim")

파이썬에서 파라미터를 받는 아래의 순서를 지키지 않으면 함수는 어떤 값을 받아야 하는지 정할 수 없기 때문에 오류가 발생합니다.
def example(a,b,c=None, d="w", f=[], *args **kwargs)
a,b : positional parameter
c=none : optional parameter
d="w" : keyword parameter
e = [] : list parameter
*args : keyword-only
**kwargs : var-keyword parameter
args는 정해지지 않는 수의 튜플 자료형 파라미터를 받습니다.
kwargs는 정해지지 않는 수의 딕셔너리 자료형 키워드 파라미터를 받습니다.