6.2.1 作用域和命名空间实例
下面的实例主要用来示范如何引用不同的作用域和命名空间,关键字global和nonlocalru如何影响变量绑定。
实例运行结果是:
After local assignment: test spam
After nonlocal assignment: nonlocal spam
After global assignment: nonlocal spam
In global scope: global spam
注意局部赋值(这是默认的)不能改变scope_test方法中的spam的绑定值。但是nonlocal赋值可以改变它的值。全局变量赋值只能改变与模块同一级的值。
你可以看到在全局变量赋值前没有给spam绑定值。