函数的命名空间和作用域
命名空间有三种
1、内置命名空间
电脑开机那一刻,py 就会创建一个内存空间用来存储内置函数和些自带的名称等,在启动时就会被加载进去,天生的
2、全局命名空间
程序执行过程中由上而下依次被加载至内存中的,这里面放着我们所有的变量名和函数名
3、局部命名问题
创建的函数内部定义的名字,只有在函数调用时才会被创建出来,执行结束就会关闭空间
在局部时,可以使用全局内置命名空间的名字
在全局时,可以使用可以使用自己的或则上级内置空间的名字,但不能用下级局部变量
内置函数为最高级,是不可以使用局部函数以及全局的名字的
内置————全局————局部 总结的说就是依赖倒置原则
作用域
1、全局作用域
全局作用域作用于全局,内置空间以及全局空间中的名字都属于全局
在全局中使用globals()作用是打印全局变量
在全局中是使用locals()作用是打印全局变量
2、局部作用于
局部作用域作用于局部,近视局部中的名字
在局部中使用globals()发音全局变量
在局部中使用local()打印局部变量
3、global a 意思为声明a在局部中是全局变量,但是尽量减少使用在别人使用函数时容易出错
可以用接受参数返回值的方式来改变值