第5章:函数-函数相关名词解释

一等函数:

  1. 在运行时创建;
  2. 能赋值给变量或数据结构中的元素;
  3. 能作为参数传给函数;
  4. 能作为函数的返回结果;

在 Python 中,所有的函数都是一等函数,包括 strintdict 等等;

高阶函数:

接收函数作为参数,或者把函数作为返回结果的函数都是高阶函数;
例如:内置函数中 mapfiltersorted 都是高阶函数;

匿名函数:

在 Python 中 可以使用 lambda 关键词创建匿名函数,例如:

# 不过一般不建议这样写 lambda,一般是作为参数或者返回值时写 lambda;

# 计算 x、y、z
func = lambda x, y, z: (x + y) * z
func(1, 2, 3)

# 等价于
def func(x, y, z):
    return (x + y) * z
func(1, 2, 3)

lambda 中只能使用表达式,不能使用 赋值语句、whiletry 等语句;

可调用对象:

除了用户自定义的函数外,() 调用运算符还可以应用在其他对象上,如果想判断对象是否可以调用,可以使用内置函数 callable()

官方文档列出的 7 种可调用对象:

  1. 自定义函数:def 语句或者 lambda 表达式;
  2. 内置函数    :使用 C 语言实现的函数;
  3. 内置方法    :使用 C 语言实现的方法;
  4. 方法           :在类的中定义的函数;
  5. 类               :实例化类时会运行类的 __new__ 方法来创建一个实例,然后运行 __init__ 方法初始化实例;
  6. 类的实例    :如果类中定义了 __call__ 方法,那么它的实例可以作为函数调用;
  7. 生成器函数:使用 yield 关键字的函数或方法。调用生成器函数返回的时生成器对象;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值