Python如何实现Grid类实例grid(x,y)调用返回content二维列表对应值
实现方法
你只需要给Grid类添加__call__魔法方法即可,该方法是Python的内置魔法方法,定义后类的实例对象可以像函数一样被直接调用。
修改后的完整代码如下:
class Grid(): def __init__(self): self.content = [[" " for i in range(10)] for i in range(10)] # 新增__call__方法 def __call__(self, x, y): return self.content[x][y] grid = Grid() print(grid(5, 4)) # 输出对应位置的grid.content[5][4]的值
如果需要额外处理下标越界、参数校验之类的逻辑,也可以直接在__call__方法里补充对应代码即可。
内容的提问来源于stack exchange,提问作者asw
相关产品推荐
相关产品推荐

