Kann mir jemand erklären, was genau dieser Fehler bedeutet,TypeError: issubclass() arg 1 eine Klasse sein muss
Ich habe null Ahnung, warum ich immer diese Fehlermeldung.
- Der Fehler scheint zu sein, ziemlich klar. Vielleicht sollte man post-code, den Sie denken sollte funktionieren, muss aber nicht.
- Auch, es gibt sehr, sehr wenige Gründe, um
issubclass
. - Vielleicht waren Sie Bedeutung zu verwenden
isinstance()
statt? - Ich bin nicht mit issubclass.Ich bin versucht, eine Beziehung zwischen zwei objects.Class X ist ein Attribut, das sollte vom Typ der Klasse Y. ich werde die beiden class-Dateien ka-code,aber Sie sind ziemlich groß, und ich bin ein Neuling in python und auf stack overflow auch...also, wenn es einen bestimmten Weg, es zu tun,bitte erleuchte mich
- Als start poste den code, wo dieser Fehler geworfen wird.
- Ich bin mit ZODB3 als backend.Der Fehler ist in serialize.py die zodb3-Datei. wenn issubclass(klass, Gebrochen): # Wir haben eine gebrochen-Klasse. Möglicherweise müssen wir es machen # PersistentBroken wenn nicht issubclass(klass, gebrochen.PersistentBroken): klass = gebrochen.persistentBroken(klass) mir Verzeihen, nicht zu wissen, wie die post-codes und kann mir bitte jemand sagen, wie es zu tun
- Nur veröffentlichen Sie code, markieren Sie es und klicken Sie auf die kleinen Schaltflächen mit den 1en und 0EN. Dieser Gedankenstrich wird der text durch die vier Räume und somit eine Formatierung als code.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bedeutet es, dass Sie nicht eine Klasse als argument für
issubclass()
. Beide Argumente haben, werden Klassen. Zweites argument kann auch ein Tupel von Klassen.Wenn Sie zeigen den code, gibt diesen Fehler, wir können weiter helfen.
Aus der Dokumentation:
als die Leute sagten, die 2 Argumente von
issubclass()
sollten Klassen nicht Instanzen eines Objekts.betrachten Sie dieses Beispiel:
der Schlüssel ist die Nutzung der
type()
- Funktion, um den Typ einer Instanz für die Verwendung mit derissubclass()
Funktion, die, wie bereits in einem anderen Kommentar, ist gleichbedeutend mit dem Aufrufisinstance()
Das erste argument
issubclass()
muss vom Typ "Klasse".http://pyref.infogami.com/issubclass
Im Grunde ist diese Methode zeigt Ihnen, ob der erste parameter ist eine Unterklasse der zweiten. So ist es selbstverständlich, sowohl Ihre Parameter werden müssen Klassen. Es erscheint von Ihrem Ruf, dass Sie angerufen haben
issubclass
ohne Parameter auf, die verwirrt den Dolmetscher.Aufrufen
issubclass
ist wie zu Fragen, den Dolmetscher: "Hey! ist diese Klasse eine Unterklasse einer anderen Klasse?". Allerdings, da haben Sie nicht zwei Klassen, haben Sie im wesentlichen gefragt, die interpretter: "Hey! Ich werde mich nicht zeigen Ihnen nichts, aber sagen Sie mir, wenn dies Sie ist eine Unterklasse". Das verwirrt die interpreter, und das ist, warum Sie diese Fehlermeldung erhalten.