#python
#python
Вопрос:
Я пытаюсь разобраться в некотором коде Python и я нашел это:
nodesList.append(
Node.Node(
NodeInfo.NodeInfo(
nodeID,
nodeStructure["text"].encode('utf8'),
nodeStructure["type"],
None,
schemeValue,
schemeIDValue
), adjEdges
)
)
Я не могу сказать, список это или массив .. или что!
Дело в том, что я не знаю, как получить доступ к вспомогательным разделам .
Например, я смог получить доступ к NodeInfo с помощью (currentNode.nodeInfo).text
, но currentNode.ajdEdges
это не работает :/
РЕДАКТИРОВАТЬ 2: Кажется, я был совершенно не готов задать этот вопрос x (Но спасибо всем, кто помогает, потому что я ничего не добивался, и теперь я вижу свет в конце туннеля ^^;
Node.py
class Node:
def __init__(self, nodeInfo, edges):
self.nodeInfo= nodeInfo
self.edges= edges
def __str__(self):
outputString= "Show Node:" 'n' "--- NodeInfo:" 'n' str(self.nodeInfo) 'n' "--- Edges" 'n'
for e in self.edges:
outputString= outputString str(e) 'n'
return outputString 'n'
Edge.py
class Edge:
def __init__(self, edgeInfo, destinationNodeId):
self.edgeInfo= edgeInfo
self.destinationNodeId= destinationNodeId
def getEdgeInfo(self):
return self.edgeInfo
def getDestinationNodeId(self):
return self.destinationNodeId
def __str__(self):
return "Edge:" 'n' "--- EdgeInfo n" str(self.edgeInfo) 'n' "--- DestinationNodeId" 'n' " " str(self.destinationNodeId) 'n'
Вы знаете, что происходит?
Комментарии:
1. У вас есть доступ к классу Node? Это из какого-то модуля? Если да, то что это такое?
2. Мы также не знаем, как получить к ней доступ, потому что вы не показали код для классов Node или NodeInfo. Что узел
__init__
делает с этим параметром? Как только вы это узнаете, вы будете знать, как получить к ней доступ. (Но обратите внимание, чтоadjEdges
передается в Node, а не NodeInfo.)3. И на что
Node
похоже? Потому чтоadjEdges
используется в качестве второго аргумента вNode
создании экземпляра. В комментариях запрашивалсяNode
класс, но теперь вы дали определения двух других классов.4. Вы добавили
EdgeInfo
иNodeInfo
, ноNode
это тот, сadjEdges
которым нам нужно ознакомиться5. Используйте
currentNode.edges
. Вы можете сами убедиться в этом непосредственно в коде дляNode
.
Ответ №1:
Вы можете получить доступ к значению, adjEdges
переданному Node
с currentNode.edges
помощью.