在Python中,变量主要分为两种类型:全局变量和局部变量。
全局变量
定义:全局变量是在整个程序范围内都可以访问的变量,它们定义在函数外部,且没有被定义在任何一个函数内。
作用范围:全局变量的作用域是整个程序,可以在程序的任何地方被访问。
生命周期:全局变量在整个程序执行过程中一直有效,直到程序结束。
使用:在函数内部使用全局变量时,不需要特殊声明,可以直接使用。但如果需要在函数内部修改全局变量的值,则需要使用`global`关键字声明。
局部变量
定义:局部变量是在函数内部定义的变量,它们只能在函数内部使用。
作用范围:局部变量的作用域仅限于定义它的函数内部,函数外部无法访问。
生命周期:局部变量只在其定义的函数被调用时存在,当函数执行结束时,局部变量将被销毁。
使用:局部变量在函数内部定义,并且只能在该函数内部使用。如果需要在函数内部使用与全局变量同名的变量,会优先使用局部变量,此时若要修改全局变量,则需要使用`global`关键字声明。
示例

```python
全局变量
global_var = 10
def test1():
局部变量
local_var = 20
print("Inside test1:", local_var)
def test2():
访问全局变量
print("Inside test2:", global_var)
调用函数
test1()
test2()
尝试在函数外部访问局部变量(会报错)
print(local_var) AttributeError: name 'local_var' is not defined
建议在编写Python代码时,应尽量减少全局变量的使用,因为全局变量会增加程序的复杂性和潜在的错误。如果需要在多个函数之间共享数据,可以考虑使用类的属性或返回值来实现。使用`global`关键字时要谨慎,因为它会改变变量的作用域,可能会导致意外的行为。
