multiple dispatch python geeksforgeeks