Tag: exception处理types检查

尝试/抓住或validation速度?

我正在使用Python,每当我必须validation函数input时,我认为input工作,然后发现错误。 在我的情况下,我有一个通用的Vector()类,我用了几个不同的东西,其中之一是增加。 它既作为Color()类也作为Vector() ,所以当我向Color()添加标量时,应该将该常量添加到每个单独的组件中。 Vector()和Vector()添加需要按组件方式添加。 这个代码被用于光线跟踪器,所以任何速度提升都很好。 这是我的Vector()类的简化版本: class Vector: def __init__(self, x, y, z): self.x = x self.y = y self.z = z def __add__(self, other): try: return Vector(self.x + other.x, self.y + other.y, self.z + other.z) except AttributeError: return Vector(self.x + other, self.y + other, self.z + other) 我目前正在使用try…except方法。 有人知道更快的方法吗? 编辑:感谢您的答案,我尝试和testing下面的解决scheme,在添加Vector()对象之前专门检查类名称: class Vector: def […]