Python-Klasse - Supervariable

8

Das folgende Stück Code gibt mir einen Fehler aus irgendeinem Grund, kann mir jemand sagen, was das Problem wäre ..

Grundsätzlich erstelle ich 2 Klassen Point & amp; Circle..Der Kreis versucht, die Point-Klasse zu erben.

%Vor%

Fehler:

%Vor%     
user1050619 31.05.2012, 17:45
quelle

3 Antworten

13

Es sieht so aus, als hätten Sie den ursprünglichen Fehler behoben, der durch super().__init__(x,y) verursacht wurde, wie die Fehlermeldung anzeigt, obwohl Ihr Fix etwas falsch war, anstatt super(Point, self) von der Klasse Circle sollten Sie% verwenden co_de%.

Beachten Sie, dass es einen anderen Ort gibt, der super(Circle, self) falsch aufruft, innerhalb von super() s Circle method:

%Vor%

Dies ist gültiger Code in Python 3, aber in Python 2 ToString() benötigt Argumente, schreiben Sie dies wie folgt um:

%Vor%

Ich würde auch empfehlen, die Zeilenfortsetzung loszuwerden, siehe Maximale Zeilenlänge Abschnitt von PEP 8 für den empfohlenen Weg, dies zu beheben.

    
Andrew Clark 31.05.2012, 17:54
quelle
7

super(..) verwendet nur neue Stilklassen. Um es zu beheben, erweitern Sie die Point-Klasse von object . So:

%Vor%

Auch die richtige Art der Verwendung von super (..) ist wie folgt:

%Vor%     
SuperSaiyan 31.05.2012 17:57
quelle
0
%Vor%     
Dinu Duke 31.03.2017 13:22
quelle

Tags und Links