Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの*argsと**kwargs


Pythonプログラムで関数を定義する場合、その目的は、関数の引数に異なる値を指定することにより、コードを何度も実行することです。この設計における1つの課題は、その関数を呼び出すたびに処理する引数の数がわからない場合はどうなるかということです。これは、**argsおよび**kwargsと呼ばれる特別な引数が必要な場所です。それらを1つずつ見ていきましょう。

* args

* argsを使用すると、関数への入力として可変数の引数を使用できます。以下の例では、一連の数値の乗算の結果を調べています。これらの数値の数は、関数を呼び出すたびに異なります。

def findproduct(*many_nums):
result = 1
for num in many_nums:
result = result * num
print("Multiplication result:",result)

findproduct(3,9)
findproduct(2,11,10)

出力

上記のコードを実行すると、次の結果が得られます-

('Multiplication result:', 27)
('Multiplication result:', 220)

** kwargs

次に、キーワード引数を渡したい場合のシナリオがあります。これは基本的に、関数の引数としてキーと値のペアです。

ここでも、そのようなキーワード引数の可変数を関数に渡すことができます。このような引数は**kwargsという名前です。このような引数を使用する場合は、2つのアスタリスクがあることに注意してください。実際には、このようなキーワード引数は、いくつかのキーと値のペアを保持するPythonディクショナリとしてプログラムに渡されます。

def country_details(**state_info):
   print('\n\n')
   for k,v in state_info.items():
      print("{} is {}".format(k,v))

country_details(StateName="Telangana", Capital="Hyderabad",Population=3400000)
country_details(StateName="Andhra Pradesh", Capital="Amaravati",Population=1000000,ForestCoverage="30%")

出力

上記のコードを実行すると、次の結果が得られます-

StateName is Telangana
Population is 3400000
Capital is Hyderabad

StateName is Andhra Pradesh
Population is 1000000
ForestCoverage is 30%
Capital is Amaravati

  1. Pythonでの相関と回帰

    相関とは、2つのデータセット間の依存関係を含むいくつかの統計的関係を指します。線形回帰は、従属変数と1つ以上の独立変数の間の関係を確立するための線形アプローチです。単一の独立変数は線形回帰と呼ばれ、複数の独立変数は重回帰と呼ばれます。 相関 依存する現象の簡単な例としては、親と子孫の外見の相関関係、製品の価格と供給量の相関関係などがあります。seabornpythonライブラリで利用可能なアイリスデータセットの例を取り上げます。その中で、3種のアヤメの花のがく片と花びらの長さと幅の相関関係を確立しようとしています。見つかった相関関係に基づいて、ある種を別の種から簡単に区別する強力なモデルを作

  2. Pythonで*argsと**kwargsを使用するにはどうすればよいですか?

    Pythonでは、単一アスタリスク形式の* argsをパラメーターとして使用して、キーワード以外の可変長引数リストを関数に送信できます。ここではアスタリスク(*)が重要であり、argsという単語とともに、キーワード以外の引数の可変長リストがあることを意味します。 例 *argsの特定のコードは次のように書き直されます def multiply(*args):     y = 1     for i in args:         y = y * i     print y multiply(