왜 기본 인수가 기본이 아닌 인수보다 선행해야 합니까?
Python에서 함수 정의의 인수 순서는 특히 중요합니다. 기본 인수와 기본이 아닌 인수가 혼합되어 있습니다. 이 순서 규칙은 함수 호출 중 인수의 명확한 해석을 보장합니다.
다음 예와 같이 기본이 아닌 인수가 함수 정의의 기본 인수 뒤에 오면 SyntaxError가 발생합니다.
<code class="python">def fun1(a="who is you", b="True", x, y): print(a, b, x, y)</code>
이 오류는 함수 시그니처에서 필수 매개변수(기본값 아님)가 항상 선택적 매개변수(기본값)보다 앞에 나와야 하기 때문에 발생합니다. 기본 인수는 함수 호출에서 인수가 생략된 경우 자리 표시자 값을 충족하지만 기본이 아닌 인수는 필수입니다.
위 예에서 볼 수 있듯이 인수가 잘못된 순서로 배치되면 인터프리터가 올바른 할당을 결정할 수 없습니다. 함수 매개변수에 대한 값. 함수 호출 중에 전달된 값이 기본 인수와 일치하는지 또는 기본이 아닌 인수와 일치하는지 명확하지 않습니다.
모호함을 피하기 위해 다음과 같은 올바른 구문을 사용할 수 있습니다.
<code class="python">def fun1(x, y, a="who is you", b="True"): print(a, b, x, y)</code>
키워드 인수를 기본 인수와 함께 사용하여 순서가 잘못된 위치 인수를 제공하거나 누락된 인수를 건너뛸 수 있습니다. 예를 들어 기본 인수 "a" 및 "b"는 다음 함수 호출과 함께 사용할 수 있습니다.
<code class="python">fun1(1, 2, b="False")</code>
이 경우 처음 두 위치 인수는 "x" 및 "y"에 할당됩니다. 각각 키워드 인수는 "False" 값을 "b"에 할당하고 기본값 "True"를 건너뜁니다.
위 내용은 Python 함수에서 기본 인수가 기본이 아닌 인수보다 먼저 와야 하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!