>백엔드 개발 >파이썬 튜토리얼 >Python 함수 매개변수의 기본값에 대한 사용법 및 주의할 핵심 사항

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

不言
不言앞으로
2019-04-15 11:07:084065검색

이 글은 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('Do <span class="pre">you <span class="pre">really <span class="pre">want <span class="pre">to <span class="pre">quit?')<br></span></span></span></span></span></span>给出一个可选的参数:<span class="pre">ask_ok('OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?', <span class="pre">2)<br></span></span></span></span></span></span>或者给出所有的参数:<span class="pre">ask_ok('OK <span class="pre">to <span class="pre">overwrite <span class="pre">the <span class="pre">file?', <span class="pre">2, <span class="pre">'Come <span class="pre">on, <span class="pre">only <span class="pre">yes <span class="pre">or <span class="pre">no!')</span></span></span></span></span></span></span></span></span></span></span></span>

这个示例还介绍了 <span class="pre">in</span>은 선택적 매개변수를 제공합니다: 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으로 문의하시기 바랍니다. 삭제