Python の partial は C++ の std::bind と同じ2021年04月24日 12時10分13秒

C++ の std::bind の使い方を紹介した。Python にも同じことが出来る partial と言う関数がある。最初、名前の partial なので、何をしているのかの理解に戸惑ったが、 C++ の std::bind と同じだと気が付いたら、納得した。しかし、今でも関数名 partial は良く忘れる。

同等の機能なので同じ関数を Python で書き直してみた。

% cat partial.py 
#!/usr/local/bin/python3.7

def print_multiply( d,  factor ):
    print( d * factor )

print_multiply( 1.5, 2 )

import functools

multi3 = functools.partial( print_multiply, factor = 3 )

multi3( 4.5 )
C++ の bind の時と同様に multi3 として、三倍固定にしている。
% python3.7 partial.py
3.0
13.5

前回

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2021/04/24/9370360/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。