我最近听说了在python中使用语句处理异常的可能性
try:
以及
^{pr2}$我只是想知道在定义下一个类时使用它是否是个好主意。 它应该代表一个地形。矩阵的每个数字代表它的一个坐标,这个数字就是这个坐标的高度。在
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
这两种方法都可以接受,但是使用第二种方法可能更干净。虽然异常通常是有用的,但是您实际尝试使用异常测试的是第二种技术。虽然在这种情况下这并不重要,但通常认为使用if语句更好,除非您实际尝试以不同的方式处理错误。在另一种情况下,除了您要测试的内容之外,可能还有其他事情会触发错误。在
相关问题 更多 >
编程相关推荐