[CS] 매개변수(Parameter)와 인수(Argument)

mean_g·2022년 6월 26일
0

[ CS ]

목록 보기
8/8

1. 함수를 정의 할 때 default value parameter를 non-default value parameter 앞에 정의하면 안 되는 이유는 뭘까?

  • Default value parameter는 자신의 자리를 알고 있지만, non-Default value parameter는 모르기 때문에 자리에 맞춰서 정의해야 하는 게 아닐까?
    -> 앞에서 default value parameter를 쓰더라도 positional arguments를 따라 순차적으로 인수가 할당되므로, 앞에 default value parameter에도 인수가 할당되고, 마지막 non-default value parameter에는 할당할 수 있는 인수가 없으므로 SyntaxError가 뜬다. 이런 일을 방지하고자 함수에서는 non-default value를 우선적으로 배치한다.

2. 위치 인수(positional arguments)와 가변 인수(variable length arguments)의 위치를 참고 자료를 통해 조사해서 어떤 에러가 발생하는지 확인하고, 에러를 고쳐보자.


여기에서는 *args가 중간에 위치하고 있어서 오류가 발생함으로
아래처럼 수정해 준다.

*args 위치만 바꿔주면 정상적으로 출력이 된다.

3. 가변 키워드 인수 (variable length keyword arguments)의 위치를 참고 자료를 통해 조사해서 어떤 에러가 발생하는지 확인하고, 에러를 고쳐보자.


여기서는 **kwargs의 위치를 뒤쪽으로 수정해 준다.

이렇게 **kwargs의 위치만 수정해 주면 된다.


4. 위치 인수와 키워드 가변 키워드 인수 (variable length keyword arguments)의 위치를 위치를 참고 자료를 통해 조사해서 어떤 에러가 발생하는지 확인하고, 에러를 고쳐보자.


해당 문제에서는 age와 address의 위치만 수정해 주면 된다.

profile
Backend Dev

0개의 댓글