python局部作用域是什么

python局部作用域是什么
python局部作用域是什么

1、说明

在函数内赋值的变量和变元都,处于’局部作用域’,属于局部变量。在函数外赋值的变量,处于全局作用域,属于全局变量。一个变量肯定是其中一种,不可能既是属于全局作用域又是属于局部作用域。

2、注意

局部作用域可以访问全局变量。

3、实例

局部作用域不能使用其他局部作用域内的变量
 
def spam():
    egg = 99
    becon()
    print(egg)
 
def becon():
    egg = 0
    ham = 101
 
spam()
 
打印结果
99
 
在程序开始运行时,spam()函数被调用,创建了一个局部作用域。局部变量eggs被赋值为 99。然后 bacon()函数被调用,创建了第二个局部作用域。多个局部作用域能同时存在。在这个新的局部作用域中,局部变量 ham 被赋值为 101。局部变量 eggs(与 spam()的局部作用域中的那个变量不同)也被创建,并赋值为 0。 当 bacon()返回时,这次调用的局部作用域被销毁。程序执行在 spam()函数中继续,打印出 eggs 的值。因为 spam()调用的局部作用域仍然存在,eggs 变量被赋值为 99。这就是程序的打印输出。要点在于,一个函数中的局部变量完全与其他函数中的局部变量分隔开来。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注