嗨,为什么python中int和list的作用域不同。以下是我的示例
#!/usr/bin/python
class Foo:
def method(self):
l = []
i = 0
def method1():
l.append(1)
i = i + 1 <<<<<< Throws exception
method1()
Foo().method()
在上面的示例中,我可以在method1函数内部访问列表l,但不能访问整数i。有任何可能的解释吗?
我引用了下面的链接,但对以上情况没有解释
由于@khelwood已在评论部分回答,这是作业。您引用列表,但分配一个整数。如果您引用int,它也可以用作列表:
class Foo:
def method(self):
l = []
i = 0
def method1():
l.append(1)
m = i + 1
print(m)
method1()
Foo().method()