答案: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免费学习笔记(深入)”;
十天学会易语言图解教程用图解的方式对易语言的使用方法和操作技巧作了生动、系统的讲解。需要的朋友们可以下载看看吧!全书分十章,分十天讲完。 第一章是介绍易语言的安装,以及运行后的界面。同时介绍一个非常简单的小程序,以帮助用户入门学习。最后介绍编程的输入方法,以及一些初学者会遇到的常见问题。第二章将接触一些具体的问题,如怎样编写一个1+2等于几的程序,并了解变量的概念,变量的有效范围,数据类型等知识。其后,您将跟着本书,编写一个自己的MP3播放器,认识窗口、按钮、编辑框三个常用组件。以认识命令及事件子程序。第
3
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号