python - 在类中访问类的方法
问题描述
假设我有一个名为 grid 的类,用于 2D 数组:
class grid:
def __init__(self, N, S, F, p):
## Make sure start and end are within the grid
assert N > 2
assert S[0] < N
assert S[1] < N
assert F[0] < N
assert F[1] < N
assert S[0] > 0
assert S[1] > 0
assert F[0] > 0
assert F[1] > 0
self.N = N
self.grid = np.zeros((N, N), dtype=np.int32)
## Surround the grid with obstacles
self.grid[0, :] = 1
self.grid[N - 1, :] = 1
self.grid[:, 0] = 1
self.grid[:, N - 1] = 1
obstacle_free_points = {S, F}
### Fill the grid with obstacles.
### An obstacle at position (x,y) -> grid[x,y]=1
### Ensure there is a path from S to F
### Your code here ###
def isReachable(self):
visited= np.zeros((N, N), dtype=np.int32)
queue=[]
queue.append(S)
visited[S] = True
def adjacent(self, S):
adjacent_nodes = []
for n in (node[0] - 1, node[1]), (node[0] + 1, node[1]), (node[0], node[1] - 1), (node[0], node[1] + 1):
if self.grid[n] == 0:
adjacent_nodes.append(n)
return adjacent_node
我想做的是在isReachable内部使用相邻。更具体地说,给定一对数字(x,y)使用方法相邻找到所有相邻的数组单元格。如果我在类之外使用它但从调用它,相邻的工作就很好另一种方法会产生错误。如何做到这一点?
解决方案
您需要使用self
关键字。
self.adjacent(...)
推荐阅读
- django - Django websockets 图片上传二进制获取扩展
- java - 如何找到该数字对该数字的幂
- android - 如何循环地图
> 在科特林? - google-sheets - 有没有一种方法可以根据条件从谷歌表格发送松弛消息?
- r - 给定R中的特定条件,如何找到最小的正负值?
- c# - C# - 使用 WSHttpBinding 的 WS SOAP 1.2 请求中没有 POST 正文
- ios - 如何在数组中找到匹配的元素并将它们附加到两个新的不同数组中
- python - 如何过滤时间戳非常接近的数据点
- python - 我无法将模块导入 Python 3.7,因为它被定向到 python2.7
- python - 我如何在python中暂停录制屏幕