我最近听说过使用语句在 python 中处理异常的可能性
try:
和
except  WhateverError:
我只是想知道在定义下一个类时使用它是否是个好主意。它应该代表一个地形。矩阵的每个数字代表它的一个坐标,数字是该坐标的高度。
class base_terreny(object):
    # create default mxn terrain #
    def __init__(self, rows, columns):
        self.rows=rows
        self.columns=columns
        self.terrain=[[0]*columns for _ in range(rows)]
    def __getitem__(self, pos): #return height of coordinate
        try:
            return self.terrain[pos[1]][pos[0]]
        except (IndexError,TypeError):
            return 0
    def __setitem__(self, pos, h): #set height
        try:
            self.terrain[pos[1]][pos[0]]=h
        except (IndexError,TypeError):
            return None
或者这样做会更好:
if pos[0]<=self.columns and pos[1]<=self.rows:       
   self.terrain[pos[1]][pos[0]]=h