学习笔记-Python基础5-函数作用域

变量的作用域:

  变量有作用范围限制,其中按作用域分类:全局global(函数外部定义)、局部local(函数内部定义)

  LEGB原则:L指Local局部作用域、E指Enclosing function local外部嵌套函数作用域、G指Global module函数定义所在的模块作用域、B指Buildin,Python内置模块的作用域

  提升局部变量为全局变量:使用global关键字,举例如下:

   

  globals、locals函数分别显示出所有全局变量和局部变量,举例如下:

   

  eval(string_code, globals=None, locals=None)函数:把一个字符串当成表达式来执行,返回表达式执行后的结果,举例如下:

    

  exec(string_code, globals=None, locals=None)函数:把一个字符串当成表达式来执行,没有返回值,举例如下:

    

  递归:直接或者间接调用自身的函数。如解决经典的汉诺塔算法,优点简洁容易理解,缺点消耗资源大,其中Python语言对递归深度做了限制,超过限制会报错,注意写递归函数,一定要有结束条件,举例如下:

  

猜你喜欢

转载自www.cnblogs.com/Cloudloong/p/9581546.html