Python で Kwargs を別の関数に渡す

Migel Hewage Nimesha 2024年2月15日
  1. Python のキーワード引数
  2. Python で **kwargs を使用して関数を呼び出す
  3. kwargs を Python で別の関数に渡す
  4. まとめ
Python で Kwargs を別の関数に渡す

Python は、プログラム内の関数に渡すことができる 2 種類の引数をリストしています。 非キーワード引数 ( **args ) とキーワード引数 (**kwargs ) 。

通常、Python 関数は正しい数の引数で呼び出す必要があります。 関数が 2つの引数を想定している場合は、2つだけを渡す必要があります。

この記事では、キーワード引数の使用方法と、キーワード引数を別の関数に渡す方法について説明します。

Python のキーワード引数

通常、引数は情報を関数に渡します。 キーワード引数は、関数に引数を渡すために使用できるメソッドの 1つです。

特にキーワード引数を使用すると、key = value 構文で引数を送信できます。 次の例を見てみましょう。

def keyword_function(fname, lname, age):
    print("first name is " + fname)


keyword_function(fname="Anne", lname="Steaven", age=27)

この例では、keyword_function という関数を定義しています。 fnamelnameage という名前の 3つの引数を渡します。

したがって、これらの引数はキーワード引数として送信されます。関数がプログラムで呼び出されると、各引数にキーと値のペアが必要になるためです。

出力:

関数に引数を渡してステートメントを出力

上記の出力では、fname 引数を渡すステートメントを出力しています。

Python で **kwargs を使用して関数を呼び出す

主にキーワード引数は、いくつかの引数が不明な場合に使用できます。 その場合は、関数定義のパラメータ名の前に 2つのアスタリスク (**) を追加します。

関数に **kwargs パラメータがある場合、可変数のキーワード引数を辞書として受け入れます。

次の例を考えてみてください。

def animals(**kwargs):
    print(kwargs)


animals(name1="Rabbit", name2="Dog", name3="Monkey")

上記のコードには animals という関数があります。 **kwargs というパラメーターがあり、これはキーワード引数として 3つの引数を持つ関数呼び出しです。

出力:

Python で **kwargs を使用して関数を呼び出す

結果は、値とキーの 2つのペアを持つ辞書として表示されます。 kwargs 引数は規約です。

したがって、パラメーター名として、意味のある名前を使用できます。 同様に、これは **kwargs パラメーターを使用して関数を呼び出す方法です。

kwargs を Python で別の関数に渡す

コード:

def info(**kwargs):
    x = dict(name="shen", age=27, degree="SE")
    pass_func(**x)


def pass_func(**kwargs):
    for i in kwargs:
        print(i, kwargs[i])


info()

上記のコードを使用して、nameagedegree など、人物に関する情報を出力します。 このプログラムは、dict メソッドを宣言する変数 x を含む別の関数に kwargs を渡します。

パラメータなしで定義された関数 info の例。 関数 info は、3つのキーと値のペアを定義する変数 x を宣言しました。通常、キーと値のペアは Python の辞書型で定義されます。

したがって、dict メソッドはキーと値のペアを指定します。 kwargs unpack 引数は辞書型として宣言されているため、この例では dict メソッドを使用できます。

次に、kwargs 引数を渡す pass_func という別の関数があります。 この関数には、kwargs 引数を出力する for ループが含まれています。その後、kwargs 関数を info 関数に渡して x を出力できます。

したがって、x 変数に kwargs 引数を指定して pass_func を呼び出します。 最後に、pass_func 関数で info 関数を呼び出します。

出力:

Python で kwargs を別の関数に渡す

まとめ

この記事全体を通して、kwargs を別の関数に渡す方法に焦点を当てました。 kwargs 引数は、引数ごとに定義されたパラメーターなしで複数の変数を取得できます。

kwargs 引数を関数に渡すときは、パラメーター名 **kwargs で二重アスタリスクを使用する必要があります。 kwargs を別の関数に渡す場合、最初に 2つのアスタリスクを使用してパラメーターを作成し、その関数を目的として別の関数に渡すことができます。

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

関連記事 - Python Argument