セクション 1. 章 12
single
Pythonにおける任意の位置引数
メニューを表示するにはスワイプしてください
位置引数やオプション引数についてはすでに知っていますが、関数が多数の入力を受け取る場合や、事前に入力が分からない場合には、任意の位置引数を使用できます。これにより、関数は任意の数の値を受け取ることができます。
注意
各引数にはリストや辞書など、任意のデータ構造を指定できます。任意引数を使うことで、必要なだけ多くのオブジェクトを渡すことが可能です。
任意の位置引数を定義するには、パラメータ名の前にアスタリスク * を付けます。例:
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% 割引を適用します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 12
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください