> In the case of Kirby's Triangle angle, might it be wise to avoid the > possibility of exploding any spacecraft, and insist that a contract be > formed with the caller so that the caller must specify whether they are > expecting the return value in radians or degrees? Seems maybe yes. But > that requires a parameter, though changes nothing else about what the > angle is in relation to the Triangle. > > So the UAP is not getting through here. > > Art
Note that passing an argument is not the only way to tell an object stuff like "my preferred unit of measure." That could also be regarded as a change in state, and be handled with another attribute, e.g.: >>> Triangle.anglemeasure = 'degrees' # set default class attribute >>> mytri = Triangle((30,60,90)) # instantiate using degrees >>> mytri.anglemeasure = 'radians' # change state on instance >>> mytri.C # consult angle 1.5707963267948966 >>> mytri = mytri * 2 # double size -- angles unaffected >>> mytri.anglemeasure = 'degrees' # change reporting unit >>> mytri.C # consult angle (again) 90.0 I'm not claiming this approach is in any ultimate sense better. I'm merely pointing out that this is another approach. Kirby _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig