Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 任意の位置引数 | 可変長引数
Python関数チュートリアル
セクション 3.  1
single

single

book任意の位置引数

メニューを表示するにはスワイプしてください

位置引数オプション引数についてはすでに知っていますが、関数が多くの入力を受け取る場合や、事前に入力がわからない場合には、任意の位置引数を使用できます。これにより、関数は任意の数の値を受け取ることができます。

Note
注意

各引数は任意のデータ構造(リスト、辞書など)にできます。任意引数を使うことで、必要なだけ多くのオブジェクトを渡すことが可能です。

任意の位置引数を定義するには、パラメータ名の前にアスタリスク * を付けます。例:

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))
copy

ここでは、*values が渡されたすべての位置引数をタプルとしてまとめます。関数内では、変数名は * を付けずに使用します。引数の数に関係なく、正しい結果が得られます。

Note
注意

どんな名前でも使用できますが、一般的で読みやすい形式は *args です。

1234567891011121314
def 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])
copy

以下のようになります:

  • 引数なし → args()
  • 引数が1つ → (1,)
  • 複数の引数 → すべての値がタプルに格納される(例:(1, 2, 3, 'hello', [4, 5, 6]))。

*args は他のタプルと同様に動作し、多数の入力を柔軟に扱うことが可能です。

タスク

スワイプしてコーディングを開始

calculate_total 関数を実装し、カート内の商品合計金額を計算し、合計金額に応じた割引を適用します。

  1. calculate_total 関数では、任意の位置引数を prices という名前で使用します。
  2. 引数が一つも渡されなかった場合は、"Your cart is empty." を返します。
  3. 合計が $200 以上の場合、20% 割引を適用します。
  4. 合計が $100 以上の場合、10% 割引を適用します。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  1
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt