码迷,mamicode.com
首页 > 编程语言 > 详细

python之函数式编程

时间:2018-08-01 14:19:10      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:函数编程   imp   函数式   div   大小   个数   color   函数式编程   python   

通常我们把可以把函数当成变量的函数,叫做高阶函数。函数式编程指的就是高阶函数编程

例1:

求两个数的绝对值的和。

解析:绝对值函数abs,我们可以定义个函数,把abs当做其中一个变量

def f(x,y,c):
    return c(x) + c(y)
n = f (-5,6,abs)
print n

求两个数的开根后的和,也可以用同样的函数调用(求平方根使用math。sqrt函数)

import math
def f(x,y,c):
    return c(x) + c(y)
n = f(9,25,math.sqrt)
print n

例2:

也有python自带的高阶函数,如:map(它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。)

求一组数的平方

def f(x):
    return x * x
n = map(f,[2,4,6,8])
print n 

将大小写混乱的英文名,输出成首字母为大写,后面为小写。首字母为大写其它小写:s[0].upper()+s[1:].lower()

def f(s):
    return s[0].upper() + s[1:].lower()
print map(s,[lSIa,MAck,rOsE])

例3:

python自带高阶函数reduce(),reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。

求多个数之间的想乘的结果

def f(x,y):
    return x * y
n = reduce(f,(2,3,4,5))
print n

要可以多个函数结合用,比如range函数,(求10以内的数想乘结果)

def f(x,y):
    return x * y
n = reduce(f,range(1,10))

 

 

 

 

 

 

 

python之函数式编程

标签:函数编程   imp   函数式   div   大小   个数   color   函数式编程   python   

原文地址:https://www.cnblogs.com/haibing1230/p/9400379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!