首页 > 解决方案 > 在类中访问类的方法

问题描述

假设我有一个名为 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)使用方法相邻找到所有相邻的数组单元格。如果我在类之外使用它但从调用它,相邻的工作就很好另一种方法会产生错误。如何做到这一点?

标签: python

解决方案


您需要使用self关键字。

self.adjacent(...)

推荐阅读