Python全局与局部变量详解:图解与实际应用

2 下载量 142 浏览量 更新于2024-09-01 收藏 222KB PDF 举报
本文主要介绍了Python中的全局变量与局部变量的概念及其相关知识。在Python编程中,变量的作用域是非常关键的概念,它决定了变量在整个程序或函数中的可访问性。全局变量(Global)是在整个程序中都可见并可被任何部分访问的变量,一旦在模块级别定义,它们就存在于模块的全局命名空间中。例如: ```python a = 10 ``` 在这个例子中,`a`就是全局变量,无论在哪里定义函数或块,都能引用到它。 局部变量(Local)则是那些只在函数内部定义的变量,它们的作用域仅限于该函数。在函数内部定义的变量,如: ```python def func(): b = 20 def inner(): c = 30 ... ``` `b`在`func()`函数内部定义,而`c`则在`inner()`函数内部定义,这两个都是局部变量,外部无法直接访问。 作用域规则遵循"LEGB"原则,即: 1. **Local**:当前函数内部 2. **Enclosing**:嵌套函数的局部作用域 3. **Global**:全局作用域(模块范围) 4. **Built-in**:Python的内置命名空间 当你试图在函数内部修改全局变量时,可以使用`global`关键字声明,如: ```python def modify_global(a): global a a = 15 a = 10 modify_global(a) print(a) # 输出:15 ``` 而对局部变量的修改,如果需要在嵌套函数中引用,则需使用`nonlocal`关键字: ```python def outer(): a = 10 def inner(): nonlocal a a = 15 inner() print(a) # 输出:15 outer() ``` 理解全局变量和局部变量的区别以及它们的作用域有助于编写更清晰、维护性更好的代码,避免不必要的变量冲突和意外的副作用。在实际编程中,合理利用这些概念能提升代码的可读性和效率。