python functool