Python - 関数を定義するときに、デフォルトのパラメーターを必須パラメーターの前に配置できないのはなぜですか?

大きな牛の人工知能のチュートリアルを共有します。ゼロベース!わかりやすい!面白くてユーモラス!あなたも人工知能のチームに加わっていただければ幸いです。人工知能チュートリアルをクリックしてください

このような関数を直接定義して、Python インタプリタが何を伝えるかを見てみましょう。

次のように、Python インタプリタはエラーを報告し、構文エラーがあること、およびデフォルト以外のパラメータをデフォルト パラメータの後に配置できないことを伝えます。

Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:16:31) [MSC v.1600 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> def foo(p1, p2=6, p3):
	return 0
SyntaxError: non-default argument follows default argument
>>> 

Python インタプリタでは、デフォルト以外のパラメータをデフォルトのパラメータの後に配置できないのはなぜですか?

上記のエラーは脇に置いて、上記の関数 foo(1, 2) を呼び出してみましょう。この時は foo(1, 6, 2) と呼ぶべきでしょうか?それとも foo(1, 2) を呼び出す必要がありますか? それとも何か別の電話をかけますか?...

デフォルトのパラメータを必須パラメータの前に置くと呼び出し時にあいまいさが生じることがわかり、Python インタプリタはこれができないことを示すエラーを報告します。

おすすめ

転載: blog.csdn.net/chimomo/article/details/41649805