デフォルトの引数値はPythonによってキーワード引数として認識されますか?区別がつかない
このスレッドを理解できません:通常の引数とキーワード引数
ちなみに、ほとんどのチュートリアルとビデオシリーズはPython2 .*を対象としているようです。Python2ではなくPython3を学ぶ必要がありますか、それとも後で簡単に移行できますか?私は好奇心からこれを学んでいます。
前もって感謝します。
デフォルトの引数値はPythonによってキーワード引数として認識されますか?区別がつかない
このスレッドを理解できません:通常の引数とキーワード引数
ちなみに、ほとんどのチュートリアルとビデオシリーズはPython2 .*を対象としているようです。Python2ではなくPython3を学ぶ必要がありますか、それとも後で簡単に移行できますか?私は好奇心からこれを学んでいます。
前もって感謝します。
両方の概念は(ほとんど)異なります。
関数定義側では、名前を持つパラメーターに名前を付け、可変個引数の拡張機能を使用します。1つは位置引数(タプルを与える)用で、もう1つはキーボード引数(辞書を与える)用です。
例:
def f(a, b=5, *c, **d): return a, b, c, d
この関数には、定位置またはキーワードを介して使用できる2つの名前付きパラメーター(a
および)があります。そして与えられた他のすべてを取ります。b
c
d
この関数は、位置引数とキーワード引数を使用して呼び出すことができます。
f(1)
f(a=1)
両方が戻る
1, 5, (), {}
名前付きパラメーターには、位置引数とキーワード引数が割り当てられているためです。
あなたもすることができます
f(a=5, foo=12) or f(5, foo=12) # -> 5, 5, (), {'foo': 12}
f(1, 2, 3) # -> 1, 2, (3,), {}
最後の例では、位置引数1と2が名前付きパラメーターa
とb
;に与えられています。3を超えるものはタプルに入れられc
ます。
できません
f(b=90) # no value for a
f(12, a=90) # two values for a
それでも不明な点がある場合はお知らせください。
私が見るところ、人々は両方の用語を同じ意味で使用する傾向があります
この質問はかなり古いようですが、とにかく私の2セントを追加します。
Default-Arguments(別名「Default-Parameters」)という用語は、関数を定義するときに一般的に使用する用語です。defステートメントのヘッダー内:
関数を定義するとき、次のように頭の中でそれを見ることができます。
def function1(positional_parameter, default_parameter="default-output"):
pass
ただし、関数を呼び出そうとするときは、通常、「キーワード引数」という用語を使用します。
関数を呼び出すと、次のように頭の中でそれを見ることができます。
function1(positional_argument, keyword_argument="change-output")