ホームページ  >  記事  >  バックエンド開発  >  Python関数のパラメータを詳しく解説

Python関数のパラメータを詳しく解説

Y2J
Y2Jオリジナル
2017-05-08 16:33:231139ブラウズ

昨日「Python Core Programming」を見ていたら、たまたま関数の部分があったので、これまでに出会った集中パラメータの型をまとめておきます^^

(1) 位置パラメータ、渡される関数呼び出し時の位置に応じたパラメータ

(2) デフォルトパラメータ 、つまり関数定義時にパラメータの値が与えられる デフォルトパラメータを設定する際に注意すべき点は 2 つあります。必須パラメータが最初に来て、デフォルトパラメータが最後に来ます。 2 つ目は、小さな変更を加えたパラメータを最後に配置し、デフォルトのパラメータとして使用する方法です。デフォルト パラメータを持つ関数を呼び出す場合、デフォルト パラメータを渡す必要はありません。デフォルト パラメータの値を変更する必要がある場合は、代入の形式で関数を呼び出すことができます。デフォルトのパラメーターが順番に指定されていない場合は、パラメーター名を (つまり、代入の形式で) 記述する必要があります。デフォルトのパラメーターは、未変更のパラメーター (つまり、未変更の オブジェクト) を指す必要があります。オブジェクト内のデータは、作成後に変更することはできません。また、マルチタスク環境で同時にオブジェクトを読み取るためにロックは必要ありません。 )

(3) 可変パラメータ 、つまり渡されるパラメータの数は可変です。パラメータの数は不確実なので、パラメータをリストまたはタプルとして渡し、forループを使用してアクセスできます。変数パラメーターを直接使用する場合、変数パラメーターを定義するには、リストまたはタプル パラメーターを定義する場合と比較して、パラメーターの前に * 記号を追加するだけで済みます。関数の内部パラメータはタプルを受け取るため、関数コードは完全に変更されませんが、関数を呼び出すときに、0 個のパラメータを含む任意の数のパラメータを渡すことができます。すでにリストまたはタプルがあり、変数パラメータを呼び出したい場合は、2 つの方法があります。1 つは、各パラメータを個別に取り出して渡す方法です。 2 つ目は、リストまたはタプルの要素を変数パラメータに変換して渡すために、その前に * 記号を追加することです。

(4) キーワードパラメータ、変数パラメータを使用すると、0 または任意の数のパラメータを渡すことができ、関数が呼び出されるときに自動的にタプルに組み立てられます。キーワード パラメーターを使用すると、パラメーター名を含むパラメーターを 0 個または任意の数で渡すことができ、これらのキーワード パラメーターは関数内の dict に自動的にアセンブルされます。渡されたキーワード パラメーターが dict の場合、関数内のパラメーターの前に 2 つの ** 記号を追加できます。

(5) 名前付きキーワード パラメーター。キーワードの名前を制限するために使用されます。キーワード パラメータ **kw とは異なり、名前付きキーワード パラメータには特別な区切り文字 * が必要で、* に続くパラメータは名前付きキーワード パラメータとみなされます。関数定義に変数パラメーターがすでに存在する場合、その後に続く名前付きパラメーターには特別な区切り文字 * は必要ありません。名前付きキーワード パラメーターは、位置パラメーターとは異なり、パラメーター名で渡す必要があります。パラメーター名が渡されない場合、呼び出しではエラーが報告されます。

注: パラメーターの定義の順序は次のとおりです: 必須パラメーター、デフォルト パラメーター (不変オブジェクトを使用する必要があります)、変数パラメーター、名前付きキーワード パラメーター、キーワード パラメーター def f(a,b,c=0,*, d,* *kw) を使用すると、パラメータの定義方法に関係なく、任意の関数を fun(*arg,**kw) と同様の形式で呼び出すことができます。

*arg は変数パラメータ、arg はタプルを受け取ります

**kw はキーワードパラメータ、kw は dict を受け取ります

変数パラメータは直接渡すことができます: fun (1,2,3 ), 最初にリストまたはタプルを組み立ててから、それを *arg を通じて渡すことができます: <code>func (*(1,2,3));fun(1,2,3),又可以先组装list或tuple,再通过*arg传入:func(*(1,2,3));

关键字参数既可以直接传入:fun(a=1,b=2),又可以先组装dict,再通过**kw传入:function(**{‘a':1,'b':2})

【相关推荐】

1. <a href="http://www.php.cn/course/list/30.html" target="_self">Python免费视频教程</a>

2.<a href="http://www.php.cn/course/306.html" target="_self">马哥教育python基础语法全讲解视频</a>

3. <a href="http://www.php.cn/course/32.html" target="_self">Python基础入门教程</a>

キーワード パラメータは直接渡すことができます。 fun(a=1,b=2),最初に辞書をアセンブルしてから、**kw:function(**{'a':1,'b) を通じて渡すことができます。 ' :2})🎜🎜[関連する推奨事項]🎜🎜1. <a href="http://www.php.cn/course/list/30.%20html%20" target="_self">Python の無料ビデオ チュートリアル🎜</a>🎜🎜2.<a href="http://www.php.cn/course/306.html" target="_self"> Python 構文の基本を説明する Marco Education のビデオ🎜</a>🎜🎜3. <a href="http://www.php.cn/course/32.html" target="_self">Python基本 入門チュートリアル🎜</a>🎜

以上がPython関数のパラメータを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。