class A(object):
def f1(self):
return []
test1 = property(f1)
class B(A):
def f1(self):
return [1, 2]
if __name__ == "__main__":
b = B()
print b.test1
Я ожидаю, что выход будет [1, 2], но он печатает [] вместо этого.
Это противоречит моим ожиданиям.
Произошла ошибка в коде? Если нет, я полагаю, что это работает так, потому что, когда свойство test1 создано, оно связано с функцией f1 базового класса A. Какая возможная альтернативная реализация для достижения того, что я хочу?
Кстати, почему CW для совершенно технического вопроса восприимчивого к резким и одинаково техническим ответам ?! Я ответил, прежде чем определить тег CW, однако я ненавижу и обычно избегаю вопросов, которые неправильно маркируются (CW, когда они, очевидно, не должны быть, или наоборот). –