2012-10-14 2 views
1

파이썬에 의해 키워드 인수로 인식되는 기본 인수 값이 있습니까? 나는 대부분의 자습서 및 비디오 시리즈 * 파이썬 2에 맞도록 할 것 같았다 나는 보조 노트에이 스레드 Python normal arguments vs. keyword arguments기본 인수 값과 키워드 인수의 구별?

을 이해할 수없는 차이

을 이해할 수 없습니다입니다. 파이썬 2 대신에 파이썬 3을 배워야하는지, 나중에 쉽게 전환 할 수 있을까요? 나는 호기심에서 이걸 배울 뿐이야.

미리 감사드립니다.

답변

1

두 개념 모두 (대부분) 구별됩니다.

함수 정의 측면에서는 이름이있는 매개 변수의 이름이 지정되어 있고 위치 가변 인수 (튜플 제공) 및 키보드 인수 (dict 제공) 용 가변 인수가 있습니다.

예 :

def f(a, b=5, *c, **d): return a, b, c, d 

이 함수라는 두 개의 파라미터를 위치 또는 키워드로 사용될 수있다 (ab)을 갖는다. cd 다른 모든 것을 취하십시오.

키워드 인수뿐만 아니라 위치 인수를 사용하여이 함수를 호출 할 수 있습니다. 위치 및 키워드 인수가 명명 된 매개 변수에 할당되기 때문에

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는 명명 된 매개 변수 ab에게 주어집니다; 초과하는 3은 튜플 c에 저장됩니다. 아직 unclearities가있는 경우

당신은

f(b=90) # no value for a 
f(12, a=90) # two values for a 

을 할 수 없어, 알려 주시기 바랍니다.