首页 > 其他 > 详细

第二模块 3.7 嵌套&匿名&高阶函数

时间:2019-10-26 17:54:31      阅读:79      评论:0      收藏:0      [点我收藏+]
name = "小猿圈"
def change():
    name = "小猿圈,自学编程"
    def change2():
        # global name  如果声明了这句,下面的name改的是最外层的全局变层
        name = "小猿圈,自学编程不要钱" #这句注释掉的话,下面name打印的是哪个值?
        print("第3层打印", name) 
    change2()  # 调用内层函数
    print("第2层打印", name)
change()
print("最外层打印", name)

输出:

第3层打印 小猿圈,自学编程不要钱
第2层打印 小猿圈,自学编程
最外层打印 小猿圈

1 通过上面的例子,我们理解了,每个函数里的变量是互相独立的,变量的查找顺序也是从当前层依次往上层找。
2 匿名函数
def cal(x,y):
    return x**y
print(cal(2,5))
#换成匿名函数
c = lambda x,y:x**y
print(c(2,8))
res = map(lambda x:x**2, [1,2,3,4,8])
for i in res:
    print(i)

3 高阶函数


def get_abs(n):
return int(str(n).strip("-") ) #取绝对值
#print(get_abs(-9))
def add(x,y,f):
return f(x)+f(y)
print(add(5,-10,get_abs))
 

只需满足以下任意一个条件,即是高阶函数

  • 接受一个或多个函数作为输入

  • return 返回另外一个函数

 

第二模块 3.7 嵌套&匿名&高阶函数

原文:https://www.cnblogs.com/kissfire008/p/11743878.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!