Python 함수에서 기본 인수가 기본이 아닌 인수보다 먼저 와야 하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-02 08:20:29
원래의
364명이 탐색했습니다.

Why Must Default Arguments Come Before Non-Default Arguments in Python Functions?

왜 기본 인수가 기본이 아닌 인수보다 선행해야 합니까?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!