Я не уверен, если выход из этого кода является правильным или ошибка:Является ли это ошибкой в наследовании 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()
Выход с помощью питона 2.7.3:
x: ['secret value!']
y: ['secret value!']
Я думаю, он должен выдавать:
x: ['secret value!']
y: []
Любые мысли?
Я не уверен, что это то же самое, так как нет наследования. – user1234299
То же самое. Он по-прежнему является атрибутом класса, а не атрибутом экземпляра. Родительский класс в этом случае, но все же такая же ситуация. –
Чтобы ответить на вопрос: № – Junuxx