
mytri = Triangle() mytri.C.degrees 90 mytri.C.radians 1.5707963267948966
Well that looks simple, elegant, and straightforward enough for my purposes.
Is there a simple elegant and straightforward way to implement this API in Python that I am missing? I know better than to assume that I don't miss the obvious when it comes to this stuff.
Art
class Angle (object):
def __init__(self, thevalue): self.value = float(thevalue) @property def degrees(self): return self.value @property def radians(self): return math.radians(self.value)
class Triangle (object):
def __init__(self, A=30, B=60, C=90): self.A = Angle(A) self.B = Angle(B) self.C = Angle(C)
mytri = Triangle() mytri.C.degrees 90.0 mytri.C.radians 1.5707963267948966 mytri.A.degrees 30.0 mytri.A.radians 0.52359877559829882
Kirby