局部作用域指函数内定义的变量仅在函数内部可用,函数外部无法访问;2. 局部变量在函数调用时创建,结束时自动销毁,不同函数的同名局部变量互不干扰;3. 函数可读取全局变量但不能直接修改,需用global或nonlocal声明;4. 局部变量会遮蔽同名全局变量,但不影响其值;5. 局部作用域增强函数独立性与安全性,避免意外修改外部数据。
Python局部作用域指的是在函数内部定义的变量所处的作用域。这些变量只能在该函数内部被访问,函数外部无法直接使用它们。
局部作用域的基本特点
当你在函数中使用赋值语句创建一个变量时,这个变量默认属于局部作用域。它只在函数执行期间存在,函数运行结束后,变量也会被销毁。
- 局部变量在函数调用时创建,函数结束时自动回收
- 不同函数中的同名局部变量互不影响
- 函数内部可以直接读取全局变量,但不能修改(除非使用global或nonlocal)
例子说明
看一个简单例子:
def my_func():
x = 10
print(x)
my_func() # 输出 10
print(x) # 这里会报错:NameError: name 'x' is not defined
上面的x就是局部变量,只能在my_func函数内使用。
与全局变量的区别
如果函数内外都有同名变量,局部变量会“遮蔽”全局变量:
x = 20def show(): x = 5 # 这是局部变量 print(x)
show() # 输出 5 print(x) # 输出 20(全局的x没变)
基本上就这些。局部作
用域让函数更独立、安全,避免意外修改外部数据。理解清楚有助于写出更可靠的代码。








