Descriptors Frage

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

Hallo,

kann man im Descriptor herausfinden, an welches Attribut ein Descriptor gebunden ist?

Code: Alles auswählen

class String(object):
    def __get__(self, instance, owner):
        pass

class C(object):
    foo = String()
Kann ich also in String() herausfinden, dass es an foo von C() gebunden ist? Sicherlich könnte man da was mittels inspect und der instance machen, aber vielleicht geht das ja auch einfacher.

Gruss

Frank
deets

Nein, das kannst du nicht. Um sowas rauszubekommen verwendet man ueblicherweise Metaklassen, oder Klassendekoratoren (in Python 3, und ich *glaube* 2.7, aber hab' gerade keins da).
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

Oki, danke :)
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Das geht indem man den Bytecode analysiert allerdings wird es bei ``foo, bar = Spam(), Spam()`` schon problematisch.

In Produktivcode sollte man solche "Magie" ohnehin nicht verwenden.
Antworten