Auf dieser python doc page heißt es:Wechsel „Typ“ von Python Objekte
Wie seine Identität, den Typ eines Objekts ist auch unveränderlich.
Und ich versuche, dieses Skript,
#!python3
class Foo:
num = 1
pass
class Bar:
num = 2
pass
f1,f2= Foo(), Foo()
f2.__class__ = Bar
print(type(f1), type(f2), f1.num, f2.num)
Das Ergebnis zeigt:
<class '__main__.Foo'> <class '__main__.Bar'> 1 2
Ich glaube, ich die type
von f2
geändert.
Was ist los, was fehlt mir?
Python soll für "Erwachsene" in dem Sinne sein, dass Sie wissen, was Sie tun und warum. Die Frage wäre: "Warum möchten Sie den Objekttyp ändern?" – pepr
Nur aus Neugier @pepr – adamsmith
Dies ist ein fairer Grund. Wenn Sie es analysieren, werden Sie die Interna besser verstehen. :) – pepr