如何实现一个将sum_numbers(2)(3)(4)......(n)
在python 中以下列方式调用的函数?
结果应该是 2+3+4+.....+n
我的提示是因为函数是pythons中的对象,有可能使用嵌套函数来做那些但我不确定.
def sum_number(x): def sum_number_2(y): def sum_number_3(z): .................... def sum_number_n(n) return n return sum_number_n return sum_number_3 return sum_number_2 return sum_number
但是,不是编写这么多嵌套函数,我们应该能够在几个嵌套函数中执行它,以便在以下列方式调用时计算n个值的总和 sum_numbers(2)(3)(4)......(n)
使用Python的数据模型功能将结果转换为所需的类型.
class sum_number(object): def __init__(self, val): self.val = val def __call__(self, val): self.val += val return self def __float__(self): return float(self.val) def __int__(self): return int(self.val) print '{}'.format(int(sum_number(2)(3)(8))) print '{}'.format(float(sum_number(2)(3)(8)))