zoukankan      html  css  js  c++  java
  • 潭州课堂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 )

     

  • 相关阅读:
    JDK历史版本下载
    安装cocoapods及相关问题解决
    使用spring注解@Controller @Service @Repository简化配置
    自己动手编写spring IOC源码
    利用反射手写代码实现spring AOP
    浅谈系统架构<一>
    spring 声明式事务管理详解
    eclipse中SSH三大框架环境搭建<二>
    eclipse中SSH三大框架环境搭建<三>
    轻松理解spring IOC
  • 原文地址:https://www.cnblogs.com/gdwz922/p/9153907.html
Copyright © 2011-2022 走看看