局部作用域里的代码可以读外部作用域(包括全局作用域)里的变量,我写了两段代码如下:
第一段:
def b(): g=0 def a(): print(g) return a b()()
可以正常显示0,表示a()函数可以读取外部的变量g。
第二段:
class a(): i=10 def fun(self): print(self.i) #print(i)就会报错NameError: global name 'i' is not defined wa=a() wa.fun()
这个fun()函数也能正确显示10,表示可以读取外部的变量,但是为什么在类中定义就必须要print(self.i)呢?为什么print(i)就会报错“NameError: global name 'i' is not defined”?
翻过高山走不出你
MMMHUHU
收到一只叮咚