セクション 3. 章 1
single
任意の位置引数
メニューを表示するにはスワイプしてください
位置引数とオプション引数についてはすでに知っていますが、関数が多くの入力を受け取る場合や、事前に入力がわからない場合には、任意の位置引数を使用できます。これにより、関数は任意の数の値を受け取ることができます。
注意
各引数は任意のデータ構造(リスト、辞書など)にできます。任意引数を使うことで、必要なだけ多くのオブジェクトを渡すことが可能です。
任意の位置引数を定義するには、パラメータ名の前にアスタリスク * を付けます。例:
12345678# Define function with arbitrary positional arguments named values def calculate_sum(*values): return sum(values) # Test the function using different number of arguments print(calculate_sum(1, 2, 3)) print(calculate_sum(1, 2, 3, 4)) print(calculate_sum(1, 2, 3, 4, 5))
ここでは、*values が渡されたすべての位置引数をタプルとしてまとめます。関数内では、変数名は * を付けずに使用します。引数の数に関係なく、正しい結果が得られます。
注意
どんな名前でも使用できますが、一般的で読みやすい形式は *args です。
1234567891011121314def example_function(*args): print(type(args)) print(args) for arg in args: print(arg) print("Call without arguments:") example_function() print("\nCall with one argument:") example_function(1) print("\nCall with multiple arguments:") example_function(1, 2, 3, 'hello', [4, 5, 6])
以下のようになります:
- 引数なし →
argsは(); - 引数が1つ →
(1,); - 複数の引数 → すべての値がタプルに格納される(例:
(1, 2, 3, 'hello', [4, 5, 6]))。
*args は他のタプルと同様に動作し、多数の入力を柔軟に扱うことが可能です。
タスク
スワイプしてコーディングを開始
calculate_total 関数を実装し、カート内の商品合計金額を計算し、合計金額に応じた割引を適用します。
calculate_total関数では、任意の位置引数を prices という名前で使用します。- 引数が一つも渡されなかった場合は、
"Your cart is empty."を返します。 - 合計が $200 以上の場合、20% 割引を適用します。
- 合計が $100 以上の場合、10% 割引を適用します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 3. 章 1
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください