美文网首页
python 把函数作为函数的参数

python 把函数作为函数的参数

作者: TFprime | 来源:发表于2019-03-11 18:56 被阅读0次

起因

我们有三个函数:

  • 第一个函数计算前n个自然数的和
  • 第二个函数计算前n个自然数的立方和
  • 第三个函数计算一个序列
    这三个函数定义如下
# -*- coding : utf-8 -*-
def sum_naturals(n):
    """ Return sum of the first n natural numbers
    """
    total, k = 0, 0
    while(k <= n):
        total, k = total + k, k + 1
    return total

def sum_cubes(n):
    """ Compute the sum of the cubes of natural number up to n
    """
    total, k = 0, 0
    while(k <= n):
        total, k = total + k * k * k, k + 1
    return total

def pi_sum(n):
    total, k = 0, 1
    while k <= n:
        total, k = total + 8 / ((4*k-3) * (4*k-1)), k + 1
    return total

我们发现这三个函数有着相同的模式,除了具体每次新加的表达式不同,其余的模式是相同的

def <name>(n):
    total, k = 0, 1
    while k <= n:
        total, k = total + <term>(k), k + 1
    return total

解决

那么作为python的程序员,我们就想让程序更加的简单,那么我们可以采取下面的做法,将具体的函数作为另一个模版函数的参数
summation()是模版函数

# -*- coding : utf-8 -*-

## Model
def summation(n, term):
    total, k = 0, 0
    while(k <= n):
        total, k = total + term(k), k + 1
    return total

def identity(x):
    return x

def cube_operator(x):
    return x * x * x

def pi_operator(x):
    return 8 / ((4*x-3) * (4*x-1))

# final functions

def sum_naturals(n):
    return summation(n, identity)

def sum_cubes(n):
    return summation(n, cube_operator)

def sum_pi(n):
    return summation(n, pi_operator)

相关文章

  • python 把函数作为函数的参数

    起因 我们有三个函数: 第一个函数计算前n个自然数的和 第二个函数计算前n个自然数的立方和 第三个函数计算一个序列...

  • Python 关键知识3:函数作为返回值

    Python 关键知识2 参考自 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。...

  • Python高阶函数学习笔记

    python中的高阶函数是指能够接收函数作为参数的函数 python中map()函数map()是 Python 内...

  • 深入函数参数

    函数参数 Python允许具有可变长参数的函数。使用*args作为函数参数,可以将任意数量的参数传递给该参数。然后...

  • python函数式编程

    python中允许把函数本身作为参数传入另一个函数,还允许返回一个函数!其次要认清的一点是,python中函数名也...

  • python函数式编程-高阶函数与偏函数

    高阶函数 python 的函数不仅能接收普通的参数,还可以接收一个函数本身作为参数,这样的函数称为高阶函数 fil...

  • python装饰器

    装饰器简述 要理解装饰器需要知道Python高阶函数和python闭包,Python高阶函数可以接受函数作为参数,...

  • 函数式编程

    函数式编程 函数式编程的特点:允许把函数本身作为参数传入另一个函数,还允许返回一个函数 把函数作为参数传入,这样的...

  • Python名词以及对应解释

    高阶函数 python的变量可以指向函数,函数的变量可以接受参数,那么一个函数就可以接受另一个函数作为参数传入,这...

  • Python个人笔记-函数式编程

    函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数。 Python对函数式编程提供...

网友评论

      本文标题:python 把函数作为函数的参数

      本文链接:https://www.haomeiwen.com/subject/yuxipqtx.html