1
我不知道如果这个代码的输出是正确的还是错误:这是Python继承中的错误吗?
class F:
"""An abstract class"""
list_of_secrets = []
def __init__(self):
pass
def getSecret(self):
return self.list_of_secrets
class F_None(F):
pass
class F_Some(F):
def __init__(self):
self.list_of_secrets.append("secret value!")
x = F_Some()
print "x:",x.getSecret()
y = F_None()
print "y:",y.getSecret()
使用Python 2.7.3输出:
x: ['secret value!']
y: ['secret value!']
我想它应该输出:
x: ['secret value!']
y: []
有什么想法?
我不确定它是否相同,因为没有涉及继承。 – user1234299 2013-02-25 12:51:55
这是一样的。它仍然是一个类属性,而不是实例属性。在这种情况下是父类,但仍然是完全相同的情况。 – 2013-02-25 12:52:22
要回答这个问题:No. – Junuxx 2013-02-25 12:53:27