鱼C论坛

 找回密码
 立即注册
查看: 1794|回复: 0

[技术交流] 《零基础入门学习Python》第十三讲笔记--函数2

[复制链接]
发表于 2017-9-4 14:13:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 尘鸯 于 2017-9-18 15:46 编辑

函数--2
              
内嵌函数和闭包
内嵌函数:在函数中再次创建函数
       例:def test1():
                     print('test1()正被调用...')
                     def test2():
                            print('test2()正被调用......')
                     test2()
              调用test1()函数
              输出:test1()正被调用...
                         test2()正被调用......
内嵌的函数只能在当前的函数中随意调用,在外部无法调用。test2()只能在test1()中被随意调用,在外部无法调用test2()
          例:def test1():
                     print('test1()正被调用...')
                     def test2():
                            print('test2()正被调用......')
                     test2()
          调用test2()函数
          错误:test2()未被定义

闭包:如果在一个内部函数里对外部作用域的变量(不是对全局变量)进行了引用,则这个内部函数就是一个闭包
          例:def test1(x):
                        def test2(y):
                               return x * y
                        return test2()
          调用函数:test(4)(5)
          输出:20


lambda表达式
          例1:def test1(x):
                        return 2 * x
           调用函数:test1(5)   
                  输出: 10
           lambda表达式: g = lambda x : 2 * x
                                       g(5)  
                           输出:10

           例2:def test2(x,y)
                           return x + y
           调用函数:test2(2 + 3)   
                  输出: 5
            lambda表达式:g = lambda x , y : x + y
                                       g(2,3)   
                            输出:5

BIF:filter(function or None , iterable)、map(func , *iterable)

filter():将iterable作为参数传入到func中运行,如果func为true,则返回当前值;如果第一个参数为None,则返回iterable中true的值
map():将*iterable作为参数传入到func中运行,并返回结果
             例1:list(filter(lambda x : x % 2 , range(10)))
             输出:[1 , 3 , 5 , 7 , 9]
             例2:list(map(lambda x : x + 2 , range(10)))
             输出:[2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12]

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 15:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表