필자는 여러 가지 인수를 취하는 Python 함수를 사용합니다. 이러한 인수 중 일부는 일부 시나리오에서 생략 될 수 있습니다.선택적 인수를 사용하여 파이썬 함수를 만드는 방법은 무엇입니까?
def some_function (self, a, b, c, d = None, e = None, f = None, g = None, h = None):
#code
인수 h
d
통해 각각 다른 의미를 가질 문자열이다. 어떤 선택적 매개 변수를 어떤 조합으로 전달할지 선택할 수 있다는 것이 중요합니다. 예를 들어, (a, b, C, d, e)
또는 (a, b, C, g, h)
또는 (a, b, C, d, e, f
또는 모두 (내 선택 사항입니다).
함수를 오버로드 할 수 있다면 좋을 것입니다.하지만 파이썬은 오버로딩을 지원하지 않습니다. 필요한 int 인수 중 일부를 목록에 삽입하려고했는데 인수 불일치 오류가 발생했습니다.
지금 당장 나는 처음 몇 개의 누락 된 인수 대신 빈 문자열을 자리 표시 자로 보냅니다. 나는 실제 값을 사용하여 함수를 호출 할 수 있기를 원한다.
이렇게 할 방법이 있습니까? 인수 목록 대신 목록을 전달할 수 있습니까?
_fdll.some_function.argtypes = [c_void_p, c_char_p, c_int, c_char_p, c_char_p, c_char_p, c_char_p, c_char_p]
관련 후 평가 핵심 모든 매개 변수의 사전 것이다 : [** 무엇을 (더블 스타/별표)와 * (별표/별표) 매개 변수 수행을 ?] (https://stackoverflow.com/q/36901/3357935) –