본문 바로가기
파이썬

파이썬 Is there a way to pass optional parameters to a function?

by º기록 2021. 1. 30.
반응형

Python에서 함수를 호출하는 동안 선택적 매개 변수를 함수에 전달하는 방법이 있습니까? 그리고 함수 정의에 "선택적 매개 변수가 전달 된 경우에만"을 기반으로하는 일부 코드가 있습니다.

 

해결 방법

 


먼저 특별한 형식 매개 변수 구문 * 을 사용할 수 있습니다. 함수 정의에 단일 * 가 앞에 오는 형식 매개 변수가있는 경우 Python은 해당 매개 변수를 선행 형식 매개 변수와 일치하지 않는 위치 매개 변수 (튜플)로 채 웁니다. 함수 정의에 ** 가 앞에 오는 형식 매개 변수가있는 경우 Python은 해당 매개 변수를 선행 형식 매개 변수와 일치하지 않는 키워드 매개 변수로 채 웁니다 (dict). 함수의 구현은 원하는 정렬의 "선택적 매개 변수"에 대해 이러한 매개 변수의 내용을 확인할 수 있습니다.

예를 들어 다음은 두 개의 위치 매개 변수 x1 x2 를 취하고 "optional"이라는 다른 키워드 매개 변수를 찾는 함수 opt_fun 입니다.

>>> def opt_fun(x1, x2, *positional_parameters, **keyword_parameters):
...     if ('optional' in keyword_parameters):
...         print 'optional parameter found, it is ', keyword_parameters['optional']
...     else:
...         print 'no optional parameter, sorry'
... 
>>> opt_fun(1, 2)
no optional parameter, sorry
>>> opt_fun(1,2, optional="yes")
optional parameter found, it is  yes
>>> opt_fun(1,2, another="yes")
no optional parameter, sorry

둘째, 호출자가 절대 사용하지 않는 None 과 같은 일부 값의 기본 매개 변수 값을 제공 할 수 있습니다. 매개 변수에이 기본값이 있으면 호출자가 매개 변수를 지정하지 않은 것입니다. 매개 변수에 기본값이 아닌 값이 있으면 호출자로부터 온 것입니다.

 

참조 페이지 https://stackoverflow.com/questions/14017996

 

 

반응형

댓글