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关键字的函数和方法

    原文作者:小小小小小小满
    原文地址: https://blog.csdn.net/qq_35602407/article/details/123470712
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞