我对编程非常陌生,并开始学习 python。可能看起来很愚蠢的问题,所以请原谅我的无知。考虑以下代码片段:
class Test1:
bar = 10
def display(self,foo):
self.foo=foo
print "foo : ",self.foo #80
def display1(self):
print "bar: ", self.bar #10
print "again foo: ", self.foo #80
if __name__ == '__main__':
test1 = Test1()
test1.display(80)
test1.display1()
print test1.bar #10
print test1.foo #80
我想了解使用 foo 和 bar (在我们定义它们的位置)之间有什么区别,因为在范围方面,它们在所有地方都可以同等访问,唯一的区别是一个在函数内部,另一个在内部类,但它们仍然是“实例”变量。那么哪个是好的做法呢?
另外,如果我稍微修改显示功能如下:
def display(self,foo):
self.foo=foo
foo = foo
print "self.foo : ",self.foo
print "foo : ",foo
有人可以解释一下python是如何看待这个的,就像这个self
关键字在两个foo
.