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

前回