函数后的括号是什么意思

cca*_*444 6 python function python-3.x

有人问我在Python 3编写一个函数为:写一个调用的函数general_poly,这将,例如,评估general_poly([1, 2, 3, 4])(10)12341*10^3 + 2*10^2 + 3*10^1 + 4*10^0.

现在我不明白第二个括号是什么(10)意思.

我的功能如何general_poly知道,将这个值放在自身内部并使用它?

Dee*_*ace 10

这意味着你的函数应该返回一个函数:

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
Run Code Online (Sandbox Code Playgroud)

这可能是也可能不是一种矫枉过正,但如果你需要保存状态,你甚至可以使用一个类并实现__call__:

class multiplier:
    def __init__(self, times):
        self.times = times
    def __call__(self, num):
        return num * self.times

print(multiplier(2)(3))
# 6
Run Code Online (Sandbox Code Playgroud)