What does the parenthesis after the function mean

  • A+
Category:Languages

I was asked to write a function in Python 3 for: Write a function called general_poly, that would, for example, evaluate general_poly([1, 2, 3, 4])(10) to 1234 because 1*10^3 + 2*10^2 + 3*10^1 + 4*10^0.

Now I don't understand what the second parenthesis, (10), means.

How would my function general_poly know, to take that value inside itself and use it?


It means that your function should return a function:

def multiplier(times):     def inner(num):          return num * times     return inner  result = multiplier(2)(3) print(result) # 6  times_four = multiplier(4) print(times_four(3)) # 12 

This may or may not be an overkill, but if you need to save state you can even use a class and implement __call__:

class multiplier:     def __init__(self, times):         self.times = times     def __call__(self, num):         return num * self.times  print(multiplier(2)(3)) # 6 

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: