Ich bin neu in Python und habe eine Frage über Klassen und ihre Attribute in Python 2.6.Klassen in Python und definieren den Typ der Attribute
Lets sagen, dass ich eine Klasse Node
wie dieses:
class Node:
x = int
y = int
neighbours = []
discovered = bool
def __init__(self,x,y):
self.x = x
self.y = y
def setNeigbours(self,neighbours):
self.neighbours = neighbours
def addNeighbours(self,n):
if type(n) == list:
self.neighbours.extend(n)
else:
self.neighbours.append(n)
def isDiscovered(self):
return self.discovered
def setDiscovered(self,discovered):
self.discovered = discovered
Und eine Klasse Graph
wie folgt aus:
class Graph:
nodeList = Node
edgeList = Edge
def __init__(self,nodeList,edgeList):
self.edgeList = edgeList
self.nodeList = nodeList
def getNodes(self):
return self.nodeList
def setNodes(self,nodeList):
self.nodeList = nodeList
def addNode(self,n):
if type(n) == list:
self.nodeList.extend(n)
else:
self.nodeList.append(n)
Wenn ich jetzt ein neues Diagramm erstellen und fügen Sie einige Knoten:
n1 = Node(0,0)
n2 = Node(1,1)
g = Graph([],[])
g.addNode(n1)
g.addNode(n2)
Ich würde Folgendes zu print
erwarten:
for n in g.nodeList:
print type(n)
Aber wenn ich es laufen, erhalte ich:
<type 'instance'>
<type 'instance'>
Gibt es eine Möglichkeit, Python zu sagen, dass die nodeList
, eine Liste, die enthält nur Node
-Elemente?