我不明白为什么这些脚本的行为不同:
class A:
x=3
y=5
__z=8
def __init__(self):
print "Hi, I am an instance object of A class!"
print "I have two components: x i y"
print "Component x =", self.x
print "Component y =", self.y
print 'Component z=', self.__z, 'but z is private'
def fun1(self):
return self.x+self.y
class B(A):
pass
i=B()
print i.x, i.y, i.fun1()
如果我删除i=B()
line 并将最后一行更改为print B().x, B().y, B().fun1()
,__init__
则打印字符串 3 次,因为每次调用其方法时都会创建类 A。为什么当我创建“i”实例时不会发生同样的事情?