第7章 函数(上)
7.5 变量的作用域
变量起作用的代码范围称为变量的作用域,与变量定义的位置密切相关,按照作用域的不同,变量可分为局部变量和全局变量。
7.5.1 局部变量
- 在函数内部定义的普通变量只在函数内部起作用,称为局部变量。当函数执行结束后,局部变量自动删除,不可以再使用,如例所示。
- 运行结果如图所示。
- 如果需要在函数内部给一个定义在函数外的变量赋值,那么这个变量的作用域不能是局部的,而应该是全局的。能够同时作用于函数内外的变量称为全局变量,它通过global关键字来声明,如例所示。
- 此处需注意,如果不使用global声明,则在函数中访问的是局部变量,如例所示。
7.5.2全局变量
- 此外,使用内置函数globals()与locals()可以查看局部变量与全局变量,如例所示。
- 在例中,函数globals()与locals()分别返回一个字典,通过打印字典中的元素,可以查看全局变量与局部变量。另外,在函数内部可以通过global关键字直接将一个变量声明为全局变量,即使在函数外没有定义,则该函数执行后,这个变量将成为全局变量,如本例中的变量z。