Kann ich eigene Methoden/Attribute eingebauten Python-Typen?

Beispielsweise sagen, ich möchte hinzufügen helloWorld() Methode, um Python-dict-Typ. Kann ich dies tun?

JavaScript hat ein Prototyp-Objekt, das auf diese Weise verhält. Vielleicht ist es schlechtes design und sollte ich eine Unterklasse der dict-Objekt, aber dann funktioniert es nur auf die Unterklassen, und ich will, dass es funktioniert auf alle zukünftigen Wörterbüchern.

Hier ist, wie es wäre, nach unten gehen in JavaScript:

String.prototype.hello = function() {
    alert("Hello, " + this + "!");
}
"Jed".hello() //alerts "Hello, Jed!"

Hier ist ein nützlicher link mit mehr Beispielen— http://www.javascriptkit.com/javatutors/proto3.shtml

Sie können dies tun, in ruby zu, indem Sie einfach die Klasse wieder, sprich: die Klasse String; def new_method()...;end; ich bin mir ziemlich sicher, dass python hat auch so etwas.
Ich glaube, du bist unter Bezugnahme auf monkey-patching, das ist meist verpönt.
Ja genau. Es ist getan über alle, die in Schienen.
Dies ist spezifisch für numpy.ndarray aber wenn jemand hier, um dieses versuchen und scheiterte beim Versuch, eine Methode hinzufügen, um eine Instanz von numpy.ndarray, werfen Sie einen Blick auf die numpy.ndarray.view Methode.

InformationsquelleAutor jedmao | 2011-01-15

Schreibe einen Kommentar