【发布时间】:2017-11-10 03:39:54
【问题描述】:
我试图从我定义的类中获取返回值,但它一直返回 <bound method Environment.setEnv of <__main__.Environment object at 0x0000022E86895828>> 而不是我返回的值。
正如您在下面看到的,我的代码创建了连接节点的行*列网格,但这些网格被收集在一个简单的列表nodes 中。
我想要做的是打印这个返回值nodes 以检查一切是否到位。但是,当我这样做时,
env = Environment()
nodes = env.setEnv
print(nodes)
它不会返回我期望看起来像 [0000x00efc, se0fdsf000cx, 000dfsecsd ....] 的节点列表
我想我不明白如何返回类中使用的变量。 我查阅了我的教科书,但它根本没有任何示例可以应用于这种情况。
class Node:
def __init__(self, data ="0", up = None, right = None, down = None, left = None, visited = 0):
self.data = data
self.up = up
self.right = right
self.down = down
self.left = left
self.visited = visited
class Environment:
def __init__(self, row = 10, column = 10):
self.row = row
self.column = column
def setEnv(self):
nodes = []
for i in range(self.row*self.column):
nodes.append(Node())
for i in range(0,self.row*self.column,self.column):
for j in range(self.column - 1):
nodes[i+j].right = nodes[i+j+1]
nodes[i+j+1].left = nodes[i+j]
if i < (self.row-1)*self.column : nodes[i+j].down = nodes[i+j+self.column] #맨 마지막 row제외
if i > 0 : nodes[i+j].up = nodes[i+j-self.column]
return nodes
【问题讨论】:
-
试试
nodes = env.setEnv(),需要调用一个方法 -
是的,你从未真正调用过该方法。