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