Wie füge ich einer Klasse dynamisch Eigenschaft hinzu?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie füge ich einer Klasse dynamisch Eigenschaft hinzu?

by Anonymous » 14 Apr 2025, 18:15

Das Ziel ist es, eine Scheinklasse zu erstellen, die sich wie ein DB -Ergebnis verhält.>>> dummy.ab
100
< /code>

Zuerst dachte ich, ich könnte es vielleicht so machen: < /p>

ks = ['ab', 'cd']
vs = [12, 34]
class C(dict):
def __init__(self, ks, vs):
for i, k in enumerate(ks):
self[k] = vs
setattr(self, k, property(lambda x: vs, self.fn_readyonly))

def fn_readonly(self, v)
raise "It is ready only"

if __name__ == "__main__":
c = C(ks, vs)
print c.ab
< /code>

Aber C.Ab < /code> gibt stattdessen ein Eigenschaftsobjekt zurück. Laufzeit? Mir ist eine Alternative bewusst, die in dargestellt wird>

Top