dane Pythona i deskryptory bez danych
WedługDokumentacja Pythona,
Deskryptory danych z__set__()
i__get__()
zdefiniowane zawsze zastępuje definicję przedefiniowaną w słowniku instancji.
Nie mam problemu ze zrozumieniem tego zdania, ale czy ktoś może mi wyjaśnić, dlaczego taka reguła istnieje? W końcu, jeśli chcę przesłonić atrybut w słowniku instancji, muszę to zrobićzdecydowanie (inst.__dict__["attr"] = val
), jako naiwnyinst.attr = val
nazwałby deskryptor__set__
metoda, która (zwykle) nie zastępuje atrybutu w słowniku instancji.
edytuj: aby wyjaśnić, rozumiem, co się dzieje, moje pytanie dotyczy tego, dlaczego taka reguła została wprowadzona.