「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python関数の単一およびdoubleアスタリスク(*)の引数をどのように展開しますか?

Python関数の単一およびdoubleアスタリスク(*)の引数をどのように展開しますか?

2025-02-26に投稿されました
ブラウズ:100

How Do Single and Double Asterisks (*) Unpack Arguments in Python Functions?

Pythonでの引数を(double Star/asterisk)*

in python、

with **

*オペレーターは、呼び出すときに引数を開梱する際に重要な役割を果たしますfunctions。たとえば、関数を考慮してください:

def add(a、b): b
以下のコードを返す *を使用して、タプル値を解きます:

def add(a, b):
    return a   b

これは書くことと同等です。

ダブルスター(**)は、辞書に対して同様の操作を実行し、指定された引数の値を提供します。関数を考慮してください:
values = (1, 2)
s = add(*values)
def sum(a、b、c、d): a b c dを返します

辞書の値を解きます**を使用して次のようになります。 s = add(** values2)
values = (1, 2)
s = add(*values)
これは:

s = sum(a = 1、b = 2、c = 10、d = 15)

def sum(a, b, c, d):
    return a   b   c   d
の組み合わせ:

*

def sum(a, b, c, d):
    return a   b   c   d
*は、同時に使用できます。同じ関数呼び出し。たとえば、

values1 =(1、2) values2 = {'c':10、 'd':15} s = add(*values1、** values2)
values = (1, 2)
s = add(*values)
これは次のとおりです。

パラメーター解放: 引数の解放に加えて、および*はパラメーターの解放にも使用できます[関数定義]定義では。 ]
例:

def add(*values): #... def get_a(** values): #...
values = (1, 2)
s = add(*values)

パフォーマンスの意味:

values = (1, 2)
s = add(*values)
および

*を使用することのパフォーマンスへの影響は、一般的に最小限です。開梱操作には最小限のオーバーヘッドが含まれ、関数自体の効率に影響しません。ただし、過度の開梱により、コードが読みやすく保守可能になる可能性があります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3