Zum Beispiel — sagen ich möchte eine helloWorld()
Methode zu Python dict Typ hinzufügen. Darf ich das machen?Kann ich den integrierten Python-Typen benutzerdefinierte Methoden/Attribute hinzufügen?
JavaScript hat ein Prototyp-Objekt, das sich so verhält. Vielleicht ist es ein schlechtes Design und ich sollte das dict-Objekt ableiten, aber dann funktioniert es nur für die Unterklassen und ich möchte, dass es in allen zukünftigen Wörterbüchern funktioniert.
Hier ist, wie es in JavaScript nach unten gehen würde:
String.prototype.hello = function() {
alert("Hello, " + this + "!");
}
"Jed".hello() //alerts "Hello, Jed!"
Hier ist eine nützliche Verbindung mit weiteren Beispielen — http://www.javascriptkit.com/javatutors/proto3.shtml
Sie können dies auch in Ruby tun, indem Sie die Klasse einfach wieder öffnen, dh: class String; def new_method() ...; Ende; Ich bin mir ziemlich sicher, dass Python auch so etwas hat. –
@Abdullah Ich glaube, Sie beziehen sich auf Affe Patching, die meist verpönt ist. –
Ja genau. Es ist überall in Rails gemacht. –