Frage

Angenommen, ich eine Python-Klasse, die ich auf eine zusätzliche Eigenschaft hinzufügen möchten.

Gibt es einen Unterschied zwischen

import path.MyClass
MyClass.foo = bar

und mit so etwas wie:

import path.MyClass
setattr(MyClass, 'foo', bar)

Wenn nicht, warum die Leute scheinen eher die zweite zu tun, als die erste? (ZB hier http:. //Concisionandconcinnity.blogspot. com / 2008/10 / Chaining-Affe-Patches-in-python.html )

War es hilfreich?

Lösung

Die Anweisungen sind gleichwertig, aber setattr könnte verwendet werden, da es die dynamischste Wahl der beiden ist (mit setattr Sie eine Variable für den Attributnamen verwenden können.)

Siehe auch: http://docs.python.org/library/functions.html# setattr

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top