Wie dynamisch der Zugriff von Eigenschaften von Klassen in Python?
Sagen wir mal ich erstelle eine Instanz von einer Klasse zuordnen möchten, einige Werte zu öffentlichen Eigenschaften. In der Regel, diese wird wie folgt vorgenommen:
class MyClass:
def __init__(self):
self.name = None
self.text = None
myclass = MyClass()
myclass.name = 'My name'
Aber, was ist, wenn ein schreiben eine Funktion, eine Klasse als parameter, und ich möchte, weisen Sie einige Werte, um die öffentlichen Eigenschaften der Klasse dynamisch, die über Variablen und Schleifen (ohne zu wissen, wie viele es sind oder wie Sie genannt werden.)
Den offensichtlich wäre:
myclass = MyClass()
myclass['name'] = "My name"
Aber das funktioniert nicht.
Irgendwelche Ideen?
- Auch dies ist eine doppelte: stackoverflow.com/questions/1167398/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach der Lektüre abgelehnt Syntax Für Das Attribut Dynamic Access ich bin mit einer mixin-Klasse bietet Wörterbuch-Stil Zugriff auf ein Objekt die folgenden Attribute :
Während noch in der Lage, die Attribute direkt:
ist es dann möglich, diese dynamisch :
Mit
dir
mitsetattr
sollte den job tun,Aber vorsichtig sein, da dieser code setzt auch
'__doc__', '__init__', '__module__'
Eigenschaften zu "Foo Bar". So werden Sie aufpassen müssen vermeiden, bestimmte Dinge, die Sie vondir
(vor allem solche, die beginnen und enden mit__
doppelten Unterstriche).