두 개념 모두 (대부분) 구별됩니다.
함수 정의 측면에서는 이름이있는 매개 변수의 이름이 지정되어 있고 위치 가변 인수 (튜플 제공) 및 키보드 인수 (dict 제공) 용 가변 인수가 있습니다.
예 :
def f(a, b=5, *c, **d): return a, b, c, d
이 함수라는 두 개의 파라미터를 위치 또는 키워드로 사용될 수있다 (a
및 b
)을 갖는다. c
및 d
다른 모든 것을 취하십시오.
키워드 인수뿐만 아니라 위치 인수를 사용하여이 함수를 호출 할 수 있습니다. 위치 및 키워드 인수가 명명 된 매개 변수에 할당되기 때문에
f(1)
f(a=1)
모두
는
1, 5,(), {}
을 반환합니다.
당신은뿐만 아니라 마지막 예에서
f(a=5, foo=12) or f(5, foo=12) # -> 5, 5,(), {'foo': 12}
f(1, 2, 3) # -> 1, 2, (3,), {}
을 할 수 있으며, 위치 인수 1과 2는 명명 된 매개 변수 a
및 b
에게 주어집니다; 초과하는 3은 튜플 c
에 저장됩니다. 아직 unclearities가있는 경우
당신은
f(b=90) # no value for a
f(12, a=90) # two values for a
을 할 수 없어, 알려 주시기 바랍니다.