ホームページ  >  記事  >  バックエンド開発  >  Python関数パラメータのデフォルト値の使い方と注意点

Python関数パラメータのデフォルト値の使い方と注意点

不言
不言転載
2019-04-15 11:07:083944ブラウズ

この記事では、Python 関数のパラメータのデフォルト値の使用方法と注意点を紹介します。一定の参考値があります。必要な友人が参考になれば幸いです。役に立ちます。助けてください。

最も便利な形式は、1 つ以上のパラメータのデフォルト値を指定することです。このようにして作成された関数は、定義時に許可されている引数よりも少ない引数で呼び出すことができます。例:

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"><br></span></span> </span> </span></span> オプションのパラメータを指定します: </span>ask_ok('OK to <span class="pre">to <span class="pre">the <span class="pre">file?', <span class="pre">2 )<span class="pre"><span class="pre"><br></span></span></span></span></span>またはすべてのパラメータを指定します: </span>ask_ok('OK to <span class="pre">the <span class="pre">file ?'、<span class="pre">2、<span class="pre">'さあ、<span class="pre">オン、<span class="pre">のみ <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>in

キーワードも紹介しています。シーケンスに特定の値が含まれているかどうかをテストできます。

デフォルト値は、<span class="pre">定義プロセス</span>の関数定義で計算されるため、

i = 5

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

i = 6
f()

は5を出力します。

重要な警告:

デフォルト値は 1 回のみ実行されます。このルールは、デフォルト値が変更可能なオブジェクト (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 関数は次のように記述できます:
def f(a, L=None):
    if L is None:
        L = []
    L.append(a)
    return L

以上がPython関数パラメータのデフォルト値の使い方と注意点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。