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

不言
リリース: 2019-04-15 11:07:29
転載
4032 人が閲覧しました

この記事では、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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート