私はPythonを初めて使い、クラスとその属性についてPython 2.6で質問します。Pythonのクラスと属性のタイプを定義する
私はこのようなクラスNode
を考えてみましょう:私は今、新しいグラフを作成し、いくつかのノードを追加する場合
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)
:このような
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
とクラスGraph
n1 = Node(0,0)
n2 = Node(1,1)
g = Graph([],[])
g.addNode(n1)
g.addNode(n2)
私は以下を期待します。print
<Type 'Node'>
:私はそれを実行したときに
for n in g.nodeList:
print type(n)
はしかし、私が取得:
<type 'instance'>
<type 'instance'>
のPythonを指示する方法は、nodeList
は、リスト、唯一Node
-Elementsが含まれていること、ありますか?