class frozen(object) :
isFrozen = False
print 'In base'
class layer(frozen):
print isFrozen
我想了解在Python中的繼承概念,上面的行是一個愚蠢的例子。在我嘗試創建圖層類的對象時,父類中的「print」語句正在工作。但是它在子類的「print」語句中拋出一個錯誤。說「isFrozen」沒有定義。但是,如果我在子類中註釋掉「print」語句,我可以創建子類的對象並將「isFrozen」作爲「layerObject.isFrozen」來訪問。什麼時候可以在Python中使用父類變量?
那麼,有誰能指出我在這裏的誤解嗎?
你讀過[Python教程](https://docs.python.org/3/tutorial/classes.html#class-and-instance-variables)嗎? – BrenBarn
我遇到過這個特殊的教程。但是,這並不能幫助我理解上述情況中的錯誤原因。 「isFrozen」被定義爲一個類變量。但是爲什麼我不能從孩子課上訪問它? –
@MazharulIslam,因爲你沒有在課堂上訪問它,你將它視爲一個全局的東西。只有在當前班級定義中定義的名字,而不是其父母的名字,沒有資格可用。 – jonrsharpe