当前位置:  开发笔记 > 编程语言 > 正文

如何在python中实现像sum(2)(3)(4)......(n)这样的函数?

如何解决《如何在python中实现像sum(2)(3)(4)(n)这样的函数?》经验,为你挑选了1个好方法。

如何实现一个将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)



1> Ignacio Vazq..:

使用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)))

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有