答案:Python变量作用域遵循LEGB规则,即局部(L)→嵌套(E)→全局(G)→内置(B)。局部作用域限函数内访问;嵌套作用域允许内层函数引用外层函数变量,支持闭包;全局作用域在模块顶层定义,跨函数共享;内置作用域含预定义标识符如print、len。查找变量按LEGB顺序进行,理解该规则有助于避免命名冲突和实现闭包逻辑。

Python 中变量的作用域决定了变量在程序中的可访问范围。主要有四种作用域类型,通常被称为 LEGB 规则:
局部作用域指的是函数内部定义的变量,只能在该函数内部访问。
def func():
x = 10 # x 是局部变量
print(x)
func() # 输出 10
# print(x) # 这会报错,x 未定义嵌套作用域指的是在嵌套函数中,内部函数可以访问外部函数的变量。
def outer():
y = 20
def inner():
print(y) # 可以访问外层函数的 y
inner()
outer() # 输出 20全局作用域指的是在模块文件顶层定义的变量,可以在整个模块中访问。
立即学习“Python免费学习笔记(深入)”;
global 关键字声明。x = 30 # 全局变量 <p>def func(): global x x = 40 # 修改全局变量 func() print(x) # 输出 40
内置作用域包含 Python 预定义的标识符,如 print、len、True 等。
print(len("hello")) # len 和 print 都是内置函数
# len = 10 # 不推荐,会覆盖内置函数Python 按照 LEGB 的顺序查找变量:从局部到嵌套,再到全局,最后到内置作用域。
基本上就这些。理解这四种作用域有助于写出更清晰、不易出错的代码。特别是处理闭包和变量修改时,作用域规则尤为重要。
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号