cca*_*444 6 python function python-3.x
有人问我在Python 3编写一个函数为:写一个调用的函数general_poly,这将,例如,评估general_poly([1, 2, 3, 4])(10)对1234因1*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)
| 归档时间: |
|
| 查看次数: |
131 次 |
| 最近记录: |