Python中的作用域规则:LGB规则

  1. 当在函数中使用一个无限制型的名字时,Python查找三个作用域,局部的(Local),次之全局(

Global),再次之内置的(Built-in)——在名字被发现的第一个位置处停止。

  1. 当你在一个函数中给一个名字赋值(而不是只在一个表达式中引用它)时,Python总是在局部作

用域中生成或改变它,除非在该函数已对它进行了全局声明。

  1. 当在函数外部(例如,在一个模块顶层或交互提示符下)时,局部作用域与全局作用域一样,都

是一个模块的名字空间。

范例
#全局作用域
x=99                #x和func在模块中被赋值:全局的
                    
def func(y):        #y和z在函数中被赋值:局部的
    # local scope
    z=x+y           #x没被赋值,所以它是全局的
    return z

print func(1)             #func在模块中:结果=100
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容