python:第一类对象

Python 中的 procedures 特点

    1. 可以当作变量的值存储
    1. 可以作为另一个procedures的形参传入
    1. 可以作为procedures的返回值返回
      ==》第一类对象

lambda 表达式

lambda <var1>, ..., <varn>:<expr>

参数:<var1>, ..., <varn>
主体:<expr>

特点:表达式的值会被当作返回值,不需要自己写return

>>> f=lambda x: x*x
>>> f
<function <lambda> at 0x000001CC294B9820>
>>> f(4)
16
>>> g=lambda x,y : x*y
>>> g(3,4)
12
>>> 

procedures 可以作为变量的值储存

定义一个存放 procedure 的数组。

>>> procs = [lambda x: x, lambda x: x+1, lambda x: x+2]
>>> procs[0]
<function <lambda> at 0x000001CC294B9790>
>>> procs[1](6)
7
>>> procs[2](3)
5
>>> 

procedures 可以为变量赋值

>>> procs = [lambda x: x, lambda x: x+1, lambda x: x+2]
>>> fuzz=procs[2]
>>> fuzz(3)
5
>>> 
>>> def thing(a):
	return a*a

>>> thing(3)
9
>>> thang = thing
>>> thang(3)
9
>>> 

将 procedure 作为形参传入 procedure

>>> def square(x):
	return x*x

>>> def squaretwice(x):
	return squaretwice(square(x))

>>> def doTwice(f,x):
	return f(f(x))

>>> doTwice(square,2)
16
>>> 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值