变量的作用域:
变量有作用范围限制,其中按作用域分类:全局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语言对递归深度做了限制,超过限制会报错,注意写递归函数,一定要有结束条件,举例如下: