[Python]Function Parameters


Function Parameters


関数のパラメータにはいくつかの形式があります.最も基本的な形式は次のとおりです.
最も基本的なケースは,上のコードのように,値をパラメータとして関数に順次渡すことである.
この場合non-dafaultキーワードです.

Keyword Arguments


パラメータ名で値を順番に渡すことができます.これをキーワードargumentsと呼びます.この場合dafault keywordです.
パラメータ値をKeyword argumentsで渡すと、実際のパラメータ順序が変わってもエラーは発生しません.

また、可読性を向上させる利点もある.
パラメータ順に関数に値を渡します.1つの欠点は、うっかり値を変更してもわかりにくい点であり、それに比べてキーワードパラメータはパラメータ名に基づいて関数に値を渡すため、値を誤って変更する確率が比較的小さく、コードのリーダがどの値を超えるかを明確に知ることができるため、可読性も向上する.

Mixing positional _arguments


arguments and keyword _arguments
arguments
パラメータ値を順次渡す位置パラメータとキーワードパラメータを混在させることもできます.

しかしここで重要なのは,キーワードargumentsの順序が変わっても構わないが,位置arguments部分は順序を守らなければならない.たとえば、次のように関数を呼び出すと、エラーが発生します.
def love_you(my_name, your_name): 
   print(f"{my_name} loves {your_name}") 
   
   love_you(your_name = "아이유", "정우성")

> Traceback (most recent call last):
    File "python", line 1
SyntaxError: positional argument follows keyword argument
エラーの原因は、キーワードパラメータが位置パラメータよりも前にあるため、関数が呼び出されます.Pythonの処理順序に従ってPositional Argumentsの順序を守るべきですが、順序が間違っているのでエラーになります.

Parameter Default Value


関数のパラメータにdefault値を定義することもできます.Default値を定義したparameterは、関数を呼び出すと、値が渡されなくても自動的にdefault値が渡されます.

ただし、default値を定義したパラメータは、default値を定義していないパラメータよりも先ではないことに注意してください.これもPythonの処理順序を無視してdefault valueparameterをnon-deffault valueparameterの前に宣言するとsyntax errorが現れるためである.
def love_you(my_name = "정우성", your_name): 
    print(f"{my_name} loves {your_name}") 
   
> Traceback (most recent call last):   
    File "python", line 1 
SyntaxError: non-default argument follows default argument