[TIL][Repl.it]Python_28.課題


Repl.これはit課題の内容です!functionとfunction parameterとparameterの順序については,それらを前のTILに残し,本稿では課題のみをまとめる.

1.


関数を定義する場合は、non-defultvalueparameterの前にdefault valueparameterを定義しないでください.どうしてだめなの?

default valueパラメータは次のとおりです。


既定値のパラメータを設定します.
keywordで命名されているので順序は関係ありません.

non-default valueパラメータは次のとおりです。


デフォルト値のパラメータが指定されていません.
positionパラメータのように、入力された順序で値を入力して呼び出すので、順序が重要です.
dafault valueparameterがnon-defultvalueparameterの前にある場合、位置(順序)が重要なnon-defultvalueparameterは順序が見つかりません.エラーが発生します.

2.


位置パラメータ(position arguments)と可変長パラメータ(variablelength arguments)の位置を参照して、どのエラーであるかを決定し、エラーを修正して関数を呼び出し、呼び出し後に出力される結果を確認します.
가변인자이며 position argument인 *args 가 age 앞에 순서하면,
name에는 "정우성"
*args에는 "01012341234","seoul", 20 까지 포함되기 때문에 
age의 값을 찾을 수 없다는 에러가 발생한다. 
ageをnameの後ろに置き、argsを最後に移動して順序を調整します.
def func_param_with_var_args(name, age, *args):
    print("name=",end=""), print(name)
    print("args=",end=""), print(args)
    print("age=",end=""), print(age)


func_param_with_var_args("정우성", 20, "01012341234", "seoul")
鄭雨盛
args=('01012341234', 'seoul')
age=20
このように出力します.

3.


可変キーワードパラメータ(variablelength keyword arguments)の位置を確認し、以下の参考資料からどのエラーかを決定し、エラーを修正して関数を呼び出し、呼び出し後に出力される結果を確認します.
**kwars 역시 가변인자이므로 mobile="01012341234"와 address="seoul"까지 값을 가져서
address=0 으로 default value parameter의 값이 입력되지 않았다. 
def func_param_with_kwargs(name, age, address=0, **kwargs):
    print("name=",end=""), print(name)
    print("age=",end=""), print(age)
    print("kwargs=",end=""), print(kwargs)
    print("address=",end=""), print(address)


func_param_with_kwargs("정우성", "20", mobile="01012341234", address="seoul")
adress=0의 자리와 **kwargs의 자리를 바꿔주면 
鄭雨盛
age=20
kwargs={'mobile': '01012341234'}
address=seoul
正常な出力.

4.


以下の参考資料を用いて、位置引数とキーワード可変キーワード引数(variablelength keywordarguments)の位置を調べ、どのエラーであるかを決定し、エラーを修正して関数を呼び出し、呼び出し後に出力される結果を決定します.
순서대로 
name="아이유"는 기본값이 정해진 default value parameter이고, 
*args는 가변인자, 순서대로 입력받는 position argument
age는 기본parameter
**kwargs는 가변인자, 키워드로 입력받는 keyword argument
address는 기본값이 정해지지 않은 non-default keyword-only argument다. 

上の写真の順番に従うと、
デフォルト変数agedef mixed_params(age, name="아이유", *args, address, **kwargs): print("name=",end=""), print(name) print("args=",end=""), print(args) print("age=",end=""), print(age) print("kwargs=",end=""), print(kwargs) print("address=",end=""), print(address) mixed_params(20, "정우성", "01012341234", "male", mobile="01012341234", address="seoul")コードを順番に変更すると、
鄭雨盛
args=('01012341234', 'male')
age=20
kwargs={'mobile': '01012341234'}
address=seoul
コンテンツ出力.