潭州课堂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
  闭包是函数里边嵌套函数,外层的函数返回里层,这种情况叫闭包,他是种特殊的函数的调用,
  闭包也可以得到外层函数的变量,上函数内外部的桥梁 函数作用域     潭州课堂25班:Ph201805201 第九课   函数作用域和匿名函数  (课堂笔记)
  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 )
上一篇:微软面试题:剑指 Offer 51. 数组中的逆序对 Hard 出现次数:3


下一篇:[iOS] 列表滑动展开隐藏头部HeaderView