函数的作用域,匿名函数,高阶函数

python中函数就是一个作用域(和js类似),局部变量放置在其作用域中。

局部变量中的变量归属其实是按照作用域来划分的。

定义完成后,作用域已经确定,以后调用时根据嵌套关系一层一层调用,作用域链向上查找。

 

#匿名函数

lambda 函数  没有函数名,需要设定一个函数名。

func = lambda x,y:x*y
print(func(4,5))

匿名函数的三元运算

func = lambda x,y:x*y if x<y else x/y

map 函数

map(function,iterable,....)  function函数,iterable 一个或多个序列

 

print(list(map(lambda x:x*x,[1,2,3,4,5])))

运用匿名函数将列表中的每一个值与自己相乘。(节省代码量,看起来比较简洁)

num = list(range(10))
print(list(map(lambda x:x*x,num)))

 

#高阶函数定义(变量可以指向函数,函数的参数可以接受变量,那么一个函数就可以接受另一个函数为参数,这种函数就被称为高阶函数)

变量可以指向函数(函数名赋值给一个变量)

def calc(x,y):
    return x + y
a = calc
print(a(2,3))

#函数的参数可以接受变量,如下
def calc(x):
    return x 
n = 3
calc(n)

 #函数接收另一个函数为参数(运行的是calc)def calc(x,y):    return x -y

def fun(x):
    return x
f = fun(calc)
print(f(5,6))


返回值里面有函数也叫高阶函数(abs是绝对值)
def calc(x,y):
    return abs,x,y
a = calc(3,-10)
print(a)

 只要满足以下条件之一,即是高阶函数

1·接受一个或多个函数输入

2.return 返回另外一个函数。

 

 



  

转载于:https://www.cnblogs.com/Roc-Atlantis/p/8533481.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值