ホームページ >バックエンド開発 >Python チュートリアル >functools.partial を使用して Python 関数の引数を事前定義するにはどうすればよいですか?
Python 関数の引数バインドについて
事前に定義された特定の引数、または追加の引数を減らして後で呼び出すことができる関数を作成するとします。引数。これを Python でどのように実現できますか?
解決策: functools.partial
解決策は functools.partial 関数を使用することです。引数の一部またはすべてが凍結された状態で関数をラップする呼び出し可能オブジェクトを返します。これにより、すでに適用されている凍結された引数を使用してラップされた関数を後で呼び出すことができます。
使用例
を使用して引数をバインドする方法を示します。 functools.partial:
import functools print_hello = functools.partial(sys.stdout.write, "Hello world\n") print_hello()
Output:
Hello world
このコードは、呼び出されたときに常に「Hello world」を出力する関数 print_hello を作成します。 functools.partial 関数は、sys.stdout.write の最初の引数を文字列「Hello world」にバインドしました。
同等のラムダ式
上記のコードは同等です次のラムダ式に変換します:
print_hello = lambda *a, **kw: sys.stdout.write("Hello world\n", *a, **kw)
つまり、 functools.partial は、既存の関数に引数を部分的に適用することで新しい関数を作成する便利な方法を提供します。
以上がfunctools.partial を使用して Python 関数の引数を事前定義するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。