Переопределение переменных класса в python

Я пытаюсь немного понять, как Python (2.6) работает с классами, экземплярами и т. Д., И в определенный момент я попробовал этот код:

#/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()

Результат: «значение по умолчанию в базе»

Мне было интересно, почему поле "default" не перезаписывается классом Descend ... Есть ли способ его перезаписать? Почему он не перезаписывается?

Любая подсказка (или ссылка на пояснительную страницу приветствуются). Спасибо!

14
задан Mr_and_Mrs_D 8 January 2014 в 17:42
поделиться