在Python中,变量的作用域决定了变量在程序中的可见性和生命周期。Python有三种变量作用域:局部作用域(local)、全局作用域(global)和内置作用域(built-in)。下面我们主要讨论局部作用域和其他变量作用域的区别。
示例:
def my_function():
local_var = 10 # 局部变量
print("Local variable:", local_var)
my_function()
print("Global variable:", local_var) # 报错:NameError: name 'local_var' is not defined
global
关键字声明该变量为全局变量。示例:
global_var = 20 # 全局变量
def my_function():
global global_var # 声明全局变量
global_var = 30 # 修改全局变量的值
print("Global variable:", global_var)
my_function()
print("Global variable:", global_var) # 输出:Global variable: 30
总结:局部作用域和其他变量作用域(如全局作用域)的主要区别在于作用范围和生命周期。局部作用域仅在函数内部可见,而全局作用域在整个程序范围内都可见。局部作用域的变量在函数执行完毕后会被销毁,而全局作用域的变量在程序运行期间一直存在。