• 潭州课堂25班:Ph201805201 第九课 函数作用域和匿名函数 (课堂笔记)


    匿名函数:

      lambda obj:str(obj).isdigit

      语法规则:   lambda 参数:表达式

      列:

        ma1 = map( lambda obj:'binbin','abcdef' )
        print( list(ma1) )

        ['binbin', 'binbin', 'binbin', 'binbin', 'binbin', 'binbin']


    闭包
      def fun_1():
       print( '正在调用01' )

       def fun_2():
       print( '正在调用02' )
       return fun_2        

      f_1 = fun_1()      正在调用01
      f_1()           正在调用02
      闭包是函数里边嵌套函数,外层的函数返回里层,这种情况叫闭包,他是种特殊的函数的调用,
      闭包也可以得到外层函数的变量,上函数内外部的桥梁


    函数作用域

        
      global 的使用,  声明全局变量
      x = 1
      def fun_1():
       global x # 声明全局变量
       x += 1 # 在没声明前不可直接修改,否则去不去啊
       print( x )

       def fun_2():
       print( x )
       return fun_2

      f_1 = fun_1()
      f_1()
      
      
      nonlocal 局部变量的声明
       def fun_1():
       x = 1

       def fun_2():
       nonlocal x # 声明局部变量
       x += 1 # 声明后可直接查,改
       print( x )
       return fun_2

      f_1 = fun_1()
      f_1()

     递归

      def fun_a( n ):
        if n == 1:
          return 1
        return fun_a( n-1 )*n

      print( fun_a(5) )

      自己调用自己

    回调

      def fun_a( a ):
       if a:
       fun_b()
       else:
       print('没有被调用')

      def fun_b():
       print('正在调用')

      fun_a( False )

     

  • 相关阅读:
    前端获取后台传输过来是数据 {张三:12} 解析为[object object],获取其中内容
    Idea 配置Jrebel热部署
    软件清单
    js实现敲回车键登录
    myql忽略大小写问题解决
    磁盘分区(2):格式化与挂载文件系统
    磁盘分区(1):fdisk和parted
    初识Docker:BusyBox容器后台运行失败
    安装Docker:解决container-selinux >= 2.9问题
    重启nginx:端口被占用问题
  • 原文地址:https://www.cnblogs.com/gdwz922/p/9153907.html
Copyright © 2020-2023  润新知