TIL # 11 (function parameters)
Assignment
1. 함수를 정의 할때 default value parameter를 non-default value parameter 앞에 정의 하면 왜 안돼야만 하는가.
defalut value paremeter?
변수명을 같이 입력하지 않으면 기본적으로 non-default value parameter이고, my_name="제리" 이처럼 변수명을 같이 입력하면 defalut value parameter이다.
함수안에서 default value parameter를 non-default parameter보다 첫번 째로 정의해버리면 인터프리터가 인터프레터는 어떤 값이 어떤 argument와 매치 시켜야 하는지를 해석할 수 없게 된다.
2. 위치 인수(positional arguments)와 가변 인수(variable length arguments)의 위치를 참고 자료를 통해 조사해서 어떤에러 인지 확인하고 함수가 호출되도록 에러를 고치고 호출후에 출력되는 결과를 블로그에 정리해 주세요.
def func_param_with_var_args(name, age, *args):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
func_param_with_var_args("정우성", "01012341234", "seoul", 20)
3. 가변 키워드 인수 (variable length keyword arguments)의 위치를 다음 참고 자료를 통해 조사해서 어떤에러 인지 확인하고 함수가 호출되도록 에러를 고치고 호출후에 출력되는 결과를 블로그에 정리해 주세요.
def func_param_with_kwargs(name, age, address=0, **kwargs):
print("name=",end=""), print(name)
print("age=",end=""), print(age)
print("kwargs=",end=""), print(kwargs)
print("address=",end=""), print(address)
func_param_with_kwargs("정우성", "20", mobile="01012341234", address="seoul")
4. 위치 인수와 키워드 가변 키워드 인수 (variable length keyword arguments)의 위치를 다음 참고 자료를 통해 조사해서 어떤에러 인지 확인하고 함수가 호출되도록 에러를 고치고 호출후에 출력되는 결과를 블로그에 정리해 주세요.
def mixed_params(name="아이유", address, age, *args, **kwargs):
print("name=",end=""), print(name)
print("args=",end=""), print(args)
print("age=",end=""), print(age)
print("kwargs=",end=""), print(kwargs)
print("address=",end=""), print(address)
mixed_params(20, "정우성", "01012341234", "male" ,mobile="01012341234", address="seoul")
이 부분은 a, b, name="아이유", *args, **kwargs 이 순서로 바꿨는데도 계속 오류가 뜬다 😥 address에 multiple value가 있다는데 이해가 되지 않는다.
그래서 순서를 바꿔봤더니 성공! age를 가장 앞으로 가져와야 하나보다 😁
참고: args는 arguments의 줄임말이다. a라고 써도 되고, ajflkjaf라고 써도된다. 이는 여러개의 인자를 받기 위해 사용된다.
kwargs는 keyword argument의 줄임말로 키워드를 제공한다.
kwargs는 (키워드=특정값) 형태로 함수를 호출 할 수 있다.
그것은 딕셔너리 형태로 {'키워드':'특정 값'} 이렇게 함수 내부로 전달된다.
Author And Source
이 문제에 관하여(TIL # 11 (function parameters)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@peng0code/TIL-11-function-parameters저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)