関数を呼び出すときにパラメーターが指定されていない場合、Python インタープリターは例外をスローすることがわかっています。この問題を解決するために、Python ではパラメータのデフォルト値を設定できるようになりました。つまり、関数を定義するときに、仮パラメータのデフォルト値を直接指定できます。この場合、関数呼び出し時にデフォルト値を持つ仮パラメータにパラメータが渡されなかった場合でも、パラメータは関数定義時に設定されたデフォルト値を直接使用できます。
Python は、デフォルト値のパラメーターを使用して関数を定義します。構文形式は次のとおりです:
def 函数名(...,形参名,形参名=默认值): 代码块
この形式を使用して関数を定義する場合、デフォルト値を含む仮パラメーターは次のとおりである必要があることに注意してください。すべてのデフォルト値の最後に value パラメータを指定しないと、構文エラーが発生します。
次のプログラムは、デフォルト パラメーターを使用して関数を定義して呼び出す方法を示しています。
#str1没有默认参数,str2有默认参数 def dis_str(str1,str2 = "http://c.biancheng.net/python/"): print("str1:",str1) print("str2:",str2) dis_str("http://c.biancheng.net/shell/") dis_str("http://c.biancheng.net/java/","http://c.biancheng.net/golang/")
実行結果は次のとおりです。
str1: http://c. biancheng.net/shell/
str2: http://c.biancheng.net/python/
str1: http://c.biancheng.net/java/
str2: http://c .biancheng .net/golang/
上記のプログラムでは、 dis_str() 関数には 2 つのパラメーターがあり、2 番目のパラメーターにはデフォルトのパラメーターがあります。これは、プログラムの 6 行目に示されているように、dis_str() 関数を呼び出すときに、str1 パラメーターに渡されるパラメーターを 1 つだけ渡すことができ、str2 はデフォルトのパラメーターを使用することを意味します。
もちろん、dis_str() 関数を呼び出すときに、すべてのパラメータに値を渡すこともできます (コードの 7 行目に示されています)。このとき、str2 がデフォルト値であっても、渡されたパラメータが優先されます。新しい値。
同時に、キーワード パラメーターと組み合わせると、次の 3 つの方法で dis_str() 関数を呼び出すこともできます。
dis_str(str1 = "http://c.biancheng.net/shell/") dis_str("http://c.biancheng.net/java/",str2 = "http://c.biancheng.net/golang/") dis_str(str1 = "http://c.biancheng.net/java/",str2 = "http://c.biancheng.net/golang/")
繰り返しますが、デフォルト値のパラメーターを使用して関数を定義する場合、次の 3 つの方法があります。デフォルト値。デフォルト値のないすべてのパラメータの後に指定する必要があります。したがって、次の例で定義されている関数は正しくありません。
#语法错误 def dis_str(str1="http://c.biancheng.net/python/",str2,str3): pass
明らかに、str1 にはデフォルト値がありますが、str2 と str3 にはデフォルト値がないため、str1 は str2 と str3 の後に配置する必要があります。
読者の中には、独自のカスタム関数の場合、どのパラメータにデフォルト値があるのかを簡単に知ることができるのではないかと尋ねる方もいるかもしれませんが、Python が提供する組み込み関数や他のサードパーティが提供する関数を使用する場合は、どうすればよいのでしょうか。どのパラメータかご存知ですか?デフォルト値はありますか?
Pyhton では、「関数名.__defaults__」を使用して関数のデフォルト値パラメーターの現在の値を表示できます。その戻り値はタプルです。このセクションの dis_str() 関数を例として、次のコードを実行します:
print(dis_str.__defaults__)
プログラムの実行結果は次のとおりです:
('http:// c.biancheng.net/python/',)
以上がPython関数のデフォルトパラメータを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。