python 把函数视作对象

一等函数

一等对象:

1.在运行时创建

2.能赋值给变量或数据结构中的元素

3.能作为参数传给函数

4.能作为函数返回结果

把函数视作一等对象,简称“一等函数”

函数__doc__属性用于生成对象的帮助文本

map(fuction, list[])函数,接收一个函数和一个list,通过把函数依次作用在list的每一个元素上,返回一个可迭代对象。可以通过list()转换,得到一个新的list并返回,即list(map(function, list))

高阶函数

接收函数为参数,或返回函数作为结果的函数是高阶函数。higher-order-function

内置函数 sorted 也是高阶函数,可选的key参数用于提供一个函数,它会应用到各个元素上进行排序。

list(map(fac, filter(lambda n: n%2, range(6))))

reduce(add, range(100))

map、filter、reduce的替代品

列表推导或生成器表达式具有map和filter两个函数的功能,且更易阅读。

归约函数:把某个操作连续应用到序列的元素上,累计之前的结果,把一系列值归约成一个值。

sum和reduce、all和any也是内置的归约函数

all(iterable)如果iterable的每个元素都是真值,返回True;all([])返回True。

any(iterable)只要iterable中有元素是真值,就返回True;any([])返回False。

匿名函数

lambda关键字创建匿名函数,函数定义中只能使用纯表达式(不能赋值,也不能使用while、try等语句),只是语法糖

sorted(fruits, key=lambda word: word[::-1])

可调用对象

python的数据模型文档列出了7种可调用对象,callable(obj)=True

1.用户自定义函数

2.内置函数

3.内置方法

4.方法:类的定义体中定义的函数

5.类:调用类,会运行类的__new__方法创建一个实例,然后运行__init__方法,初始化实例,最后返回该实例。

6.实例:如果类定义了__call__方法,那么该类的实例可以作为函数调用。

7.生成器:使用yield关键字的函数和方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值