更新时间:2024-01-17 来源:黑马程序员 浏览量:
在Python中,变量的作用域是指变量在程序中的可访问范围。Python中主要有以下几种变量作用域:
在函数内部定义的变量具有局部作用域,即只在函数内部可见。一旦函数执行结束,局部变量就会被销毁。
当函数嵌套时,内部函数可以访问外部函数的变量,但外部函数不能访问内部函数的变量。内部函数中的变量既可以是局部变量,也可以是外部函数的变量。
在模块(文件)级别定义的变量具有全局作用域,可以在整个模块内访问。全局变量在整个程序执行周期内都是可见的。
这是最广泛的作用域,包含了Python内置的函数和对象的命名空间。例如,print()、len()等函数就属于内置作用域。
接下来我们看一段示例代码来说明Python中变量作用域:
# 全局作用域 global_variable = 10 def example_function(): # 局部作用域 local_variable = 5 print("Inside the function:", local_variable) def nested_function(): # 嵌套作用域 nested_variable = 8 print("Inside the nested function:", nested_variable) # 在嵌套函数中访问外部函数的变量 print("Accessing variable from outer function:", local_variable) nested_function() # 在函数外部访问全局变量 print("Outside the function:", global_variable) # 尝试在函数外部访问局部变量,会引发错误 # print("Trying to access local variable outside the function:", local_variable) example_function() # 尝试在全局作用域中访问局部变量,会引发错误 # print("Trying to access local variable in global scope:", local_variable)
在这个例子中,global_variable是一个全局变量,可以在函数内外访问。local_variable是一个局部变量,只能在example_function函数内部访问。nested_variable是一个嵌套变量,只能在nested_function内部访问。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19