一,什么是变量?
在python中,变量也称为“对象的引用”。因为,变量存储的是 对象的地址,变量通过地址引用了“对象”
变量位于栈内存;对象位于堆内存(同java)
二,什么是变量的作用域?
变量起作用的范围
三,全局变量和局部变量
全局变量:
1,在函数和类定义之外生命的变量。作用域为定义的模块,从定义位置开始直到模块结束
2,全局变量降低了函数的通用性和可读性,全局变量一般做常量使用
3,函数内要改变全局变量的值,使用global声明一下。(因为如果局部变量和全局变量同名的话,则在函数体内隐藏全局变量,只使用同名的局部变量)
4,全局变量相当于一开始就在堆内存中创建了对象,而局部变量使用时,函数先被调进栈内存,形成 栈帧(stack frame),局部变量的引用就在栈帧中
局部变量:
1,在函数体中(包含形式参数)声明的变量
2,局部变量的引用比全局变量快(经常用在强调效率或者循环次数较多的地方)