1

이 질문에 이미 질문했거나 답변을 드렸다면 사과드립니다. 관련 질문은 찾을 수 없지만 관련 질문을 찾을 수 없었습니다 ...파이썬에서 가변 길이가 아닌 인수로 명명 된 인수를 사용

나는 두 개의 필수 인수 한 이름 인수를 취하는 파이썬 기능, 등등과 같은 다른 비 명명 된 인수의 알 수없는 수를 만들 싶습니다

def my_function(arg1, arg2, arg3=None, *other_args): 
    pass 

파이썬 2.x에서이 가능합니까?
함수는 가변 길이 인수 목록 외에도 명명 된 인수를 사용할 수 있습니까?

def my_function(arg1, arg2, **kwargs): 
    arg3 = kwargs["arg3"] 
    other_args = kwargs["other_args"] 

있음을 맞 :

나는 경우에 나는 오직 나에게 가능한 솔루션을 다음과 유사한 것을 생각하고, 대답은 '아니오'라고 생각?

답변

1

그 구문은 확실히 유효하지만, arg3이 명명 된 매개 변수 (예 : my_function(1, 2, arg3 = 3))로 사용되는 경우에만 바인딩되며, 그렇지 않으면 처음 두 개 이상의 모든 인수를 가질 수 있다는 것을 의미한다고 생각합니다. *other_args에 걸렸습니다.이 경우 대답은 아니오입니다. 선택적 인수는 이름을 지정하여 지정할 수 있지만 일반 인수와 마찬가지로 위치가 정해져 있고 충분한 매개 변수가있는 경우 채우기가 완료되어 *args 또는 **kwargs과 같은 catch-alls에 의지해야합니다.

키워드 인수를 사용하여 정확하게 작성했습니다.

관련 문제