Können Sie Patch-Methoden auf Kerntypen in Python anwenden?

Ruby hinzufügen können Methoden, um die Number-Klasse und andere core-Typen, die zu erhalten Ergebnisse wie diese:

1.should_equal(1)

Aber es scheint, dass Python nicht. Ist das wahr? Und wenn ja, warum? Hat es etwas mit der Tatsache zu tun, dass Typ nicht geändert werden können?

Update: Anstatt ein Gespräch über unterschiedliche Definitionen von monkey-patching, ich möchte nur auf das Beispiel oben. Ich habe schon festgestellt, dass es nicht getan werden kann, wie ein paar von Euch beantwortet haben. Aber ich würde gerne eine genauere Erklärung, warum es nicht getan werden kann, und vielleicht auch welche Funktion, wenn verfügbar, in Python erlauben würde.

Beantworten einige von Ihnen: Der Grund, warum ich könnte wollen zu tun, das ist einfach ästhetik und Lesbarkeit.

 item.price.should_equal(19.99)

Liest sich mehr wie Englisch und zeigt deutlich, die den getesteten Wert und was ist der erwartete Wert, wie es soll:

should_equal(item.price, 19.99)

Diesem Konzept ist, was Rspec und einige andere Ruby-frameworks basieren auf.

InformationsquelleAutor der Frage airportyh | 2008-10-10

Schreibe einen Kommentar