Python基础之四函数式编程

'''
    变量可以指向函数
'''
print(abs(-10))#取绝对值,函数调用
print(abs)#调用函数本身
f = abs
print(f(-10))#函数本身也可以赋值给变量,即变量指向函数

'''
    函数名也是变量
'''


'''
    传入函数
    既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称之为高阶函数
'''

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

'''
    map()/ reduce函数
'''
def f(x):
    return x * x
r = map(f, [1, 2, 3, 4, 5, 6, 7, 8])
list(r)
print(list(r))

'''
    sorted()方法
'''
print(sorted([23, 34, -564,1,4], key = abs))

'''
    返回函数
    函数最为返回值 高阶函数除了可以接受函数作为参数外,还可以吧函数最为返回结果值返回
'''

def calc_sum(*args):
    def sum():
        ax = 0
        for n in args:
            ax = ax + n
        return ax
    return sum
f = calc_sum(1, 2, 3, 4, 5, 6)
print(f)#返回的是一个函数本身
print(f())#打印计算值

'''
    匿名函数
    当我们传入函数时,有些时候,不需要显示的定义函数没直接传入匿名函数更方便
    关键字lambda表示匿名函数, 冒号前表示函数参数
'''
print(list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6])))

'''
    装饰器
    由于函数也是一个对象, 而且函数对象可以被赋值给变量, 所有通过变量也能调用该函数
'''

def now():
    print('2015-5-26')
f = now
print(f())
print(now.__name__)#通过__name__属性拿到函数的名字
print(f.__name__)

'''
    偏函数
    functools.partial帮我们创建偏函数,作用把一个函数的某些参数给固定住(也就是设定默认值), 返回一个新函数
'''
import functools

int2 = functools.partial(int, base = 2)
print(int2('10000000'))

更多精彩内容访问个人站点www.gaocaishun.cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值