キーワード引数と位置引数

関数を呼び出すとき、引数に値を渡して、その値を使って関数を実行します。その値は、位置引数でもキーワード引数でも指定することができます:
def rectangle(h, w, val=0):
    return [[val] * w] * h

print(rectangle(2, 3, 1))
# [[1, 1, 1], [1, 1, 1]]
def rectangle(h, w, val=0):
    return [[val] * w] * h

print(rectangle(2, w=3, val=1))
# [[1, 1, 1], [1, 1, 1]]
第2の例のように、引数の名前を指定して値を渡すことができます(val=1w=3 など)。
これは、引数が多く、そのほとんどがデフォルト値を持つ関数に特に有用です。その場合、必要なパラメータだけにキーワード引数を指定し、他は省略できます。
キーワード引数は関数の引数と同じ順序で指定する必要はありません。引数名が関数の引数名と一致していれば、順序は自由です。しかし、位置引数の後にキーワード引数を指定することはできますが、その逆はできないことに注意してください。関数を呼び出すとき、まず位置引数を指定し、その後にキーワード引数を指定します。なぜそうなるのか、考えてみてください 🤔。

チャレンジ

患者のプロパティを出力する関数が与えられています。この関数を以下の引数の順序で3回呼び出してください:
  1. name, age, height
  1. age, name, height
  1. height, age, name
各呼び出しの出力は同じになる必要がありますが、位置引数とキーワード引数の両方を使って関数を呼び出してかまいません。
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue