python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调

一,匿名函数

  • lambda:用来简写非常简单的函数定义
    python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调
    ​ # 简化定义简单的函数的过程

二,函数作用域

  • 函数内部可以访问(取值)函数外部的变量

    ​ 1,函数外部:全局变量(光明的地方) 光明的不能访问黑暗的

    ​ 2,函数内部,局部变量(黑暗的地方) 黑暗的能访问光明的

    ​ 3,函数内部是可以访问全局变量的
    python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调
    ​ 3.5,先找局部再找全局!!python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调
    ​ 4,全局不可以访问局部变量python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调
    ​ 5,局部能访问全局变量,但是不能修改全局变量python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调
    ​ 6,函数内部定义的局部变量的作用域只在这个函数内部有用python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调
    ​ 7,global 在函数局部修改全局变量,全局的变量s会被改变!!python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调
    ​ 8,内层函数能够访问外层函数定义的局部变量,但是不能对变量进行修改python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调
    ​ 9,nonlocal 在嵌套函数里面修改局部变量,局部变量s会被修改!python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调

三,闭包,递归和回调

  • 闭包:用于装饰器python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调

  • 递归:函数自己调用自己

    错误的递归 :python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调
    正确的递归 :python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调

  • 回调函数:一个函数对象被当做参数传入到另外一个函数中,那个这个被传入的函数对象被称作回调函数python入门到秃顶(7):函数作用域和匿名函数,闭包递归回调