Point
位置、値、およびフラグを引数として受け入れるクラスがあります。このクラスは、位置と値の引数として整数のみを受け入れます。以下のコードを試してみましたが、正しく動作しません。
class PointException(Exception):
pass
class Point():
def __init__(self, position, value, flag=False):
try:
if all([isinstance(x, int) for x in position, value]):
self.position = position
self.value = value
self.point = (position, value)
self.flag = flag
except:
raise PointException("Foo value and position must be integers.")
def __repr__(self):
return "< {0}, {1}, {2} >".format(self.position, self.value, self.flag)
def __eq__(self, other):
if not isinstance(other, Point):
return False
try:
return all([self.point == other.point, self.flag == other.flag])
except AttributeError:
return False
def __ne__(self, other):
return not self.__eq__(other)
アップデート
たとえば、試してAttributError
みるPoint(1, 1.2)
と が表示されます。
AttributeError: Point instance has no attribute 'position'