Python 함수 매개변수의 기본값에 대한 사용법 및 주의할 핵심 사항

不言
풀어 주다: 2019-04-15 11:07:29
앞으로
4024명이 탐색했습니다.

이 글은 Python 함수 매개변수의 기본값에 대한 사용법과 주의할 점을 제공합니다. 특정 참조 값이 있으므로 도움이 될 수 있습니다.

가장 유용한 형식은 하나 이상의 매개변수에 기본값을 지정하는 것입니다. 이러한 방식으로 생성된 함수는 다음과 같이 정의되었을 때 허용된 것보다 더 적은 수의 매개변수로 호출할 수 있습니다.

def ask_ok(prompt, retries=4, reminder='Please try again!'):
    while True:
        ok = input(prompt)
        if ok in ('y', 'ye', 'yes'):
            return True
        if ok in ('n', 'no', 'nop', 'nope'):
            return False
        retries = retries - 1
        if retries < 0:
            raise ValueError(&#39;invalid user response&#39;)
        print(reminder)
로그인 후 복사

이 함수는 여러 가지 방법으로 호출할 수 있습니다.

필수 매개변수만 제공: <span class="pre">ask_ok('<span class="pre">당신은 <span class="pre">정말 <span class="pre">원하고 있습니다 <span class="pre"> <span class="pre">quit?')<code class="docutils literal notranslate"><span class="pre">ask_ok(&#39;Do <span class="pre">you <span class="pre">really <span class="pre">want <span class="pre">to <span class="pre">quit?&#39;)<br/></span></span></span></span></span></span>给出一个可选的参数:<span class="pre">ask_ok(&#39;OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?&#39;, <span class="pre">2)<br/></span></span></span></span></span></span>或者给出所有的参数:<span class="pre">ask_ok(&#39;OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?&#39;, <span class="pre">2, <span class="pre">&#39;Come <span class="pre">on, <span class="pre">only <span class="pre">yes <span class="pre">or <span class="pre">no!&#39;)</span></span></span></span></span></span></span></span></span></span></span></span>

这个示例还介绍了 <span class="pre">in</span>은 선택적 매개변수를 제공합니다: < code class ="doutils literal notranslate">ask_ok('확인 "pre">파일?', 2)

또는 모두 제공 매개변수: <span class="pre">ask_ok('OK <span class="pre"><span class="pre">덮어쓰기 <span class= "pre"> <span class="pre">파일?', <span class="pre">2, <span class="pre">'어서 <span class="pre">켜세요, <span class ="pre" ><span class="pre">예 <span class="pre">또는 <span class="pre">아니요!')</span></span></span></span></span>만 가능합니다. span></span></span></span></span></span></span></span>

이 예에서는 <span class="pre">in</span> 키워드. 시퀀스에 특정 값이 포함되어 있는지 테스트할 수 있습니다.

기본값은

정의 프로세스

중에 함수 정의에서 계산되므로

i = 5

def f(arg=i):
    print(arg)

i = 6
f()
로그인 후 복사
는 5를 인쇄합니다.

중요 경고:

기본값은 한 번만 실행됩니다. 이 규칙은 기본값이 변경 가능한 객체(Python 목록, 사전 및 대부분의 클래스 인스턴스)인 경우 중요합니다. 예를 들어, 다음 함수는 후속 호출에서 전달된 인수를 저장합니다:

def f(a, L=[]):
    L.append(a)
    return L

print(f(1))
print(f(2))
print(f(3))
로그인 후 복사

이렇게 하면

[1]
[1, 2]
[1, 2, 3]
로그인 후 복사
가 인쇄됩니다. 후속 호출 간에 기본값을 공유하지 않으려면 이 Python 함수를 다음과 같이 작성할 수 있습니다. : 🎜rreee 🎜 🎜

위 내용은 Python 함수 매개변수의 기본값에 대한 사용법 및 주의할 핵심 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿