Próbuję zrozumieć trochę jak Python (2.6) dotyczy klasy, instancje i tak dalej, i w pewnym momencie, próbowałem ten kod:Zastępowanie zmiennych klasy w Pythonie
#/usr/bin/python2.6
class Base(object):
default = "default value in base"
def __init__(self):
super(Base, self).__init__()
@classmethod
def showDefaultValue(cls, defl = default):
print "defl == %s" % (defl)
class Descend(Base):
default = "default value in descend"
def __init__(self):
super(Descend, self).__init__()
if __name__ == "__main__":
Descend.showDefaultValue()
Wyjście is: "wartość domyślna w bazie"
Zastanawiam się, dlaczego pole "domyślne" nie jest przesłonięte przez klasę Descend ... Czy istnieje sposób, aby go zastąpić? Dlaczego nie jest nadpisywany?
Każda wskazówka (lub link do strony objaśniającej zostanie doceniony). Dziękuję Ci!