2016-05-28 16 views
-2

Ich habe ein Problem beim Aufruf einer Methode in einer sehr einfachen Python-Klasse. Ich habe etwas, das wie folgt aussieht:Wie Methode einer Instanz in Python aufrufen

from shape import Shape 

class Figure: 
    def __init__(self): 
     self.shapes = [] # the shape objects that make up self 

     self.shape0 = shape([1, 3, 2], [30, 20]) 
     self.shape1 = shape([2, 3, 4], [25, 35]) 



    def get_points(self): 
     # Returns all .points of all members of self.shapes 
     all_points = self.shape0 
     all_points.extend(self.shape1) 
     print(all_points) 

get_points() 

In get_points Ich versuche, eine Liste aller Instanzen Form zu erstellen, ob sie Quadrate, Fünfecke, oder irgendetwas sein. Im Moment sind sie nur Dreiecke (das erste Array ist eine Bezeichnung ihrer Punkte, das zweite ist der Winkel von zwei ihrer Eckpunkte).

Ich versuche gerade zu testen, ob all_points eine Liste aller Punkte in beiden Dreiecken (also 1,2,3,4) zurückgibt. Aber zur Zeit bekomme ich einen Fehler beim Aufruf von get_points(). Weiß jemand, warum ich get_points() hier nicht aufrufen kann? Der Fehler lautet 'Ungelöste Referenz' get_points '.

+0

Sie eine Instanz der Klasse benötigen. – miradulo

+0

Also wie self.get_points()? – Jaromjj

+1

'x = Figur(); x.get_points() ' – khelwood

Antwort

1

Erstellen Sie zuerst eine Instanz von Figure.

f = Figure() 
f.get_points() 
0

Sie müssen eine Instanz von Figure die Methode rufen:

f = Figure() 
print f.get_points() 
Verwandte Themen