> comparing two of them is conceptually pretty sensible.
Well, there are a bunch of sensible ways to do it, depending what the angle represents. You might not want to privilege any of them over the others directly in the class.
Is it a point on the unit circle? It doesn't make much sense to compare (sqrt(2), sqrt(2)) to (-1, 0).
Is it an angular distance to travel from point A to point B? Then you want 355 and -5 to both be less than 10.
Is it an amount that a screw has to be rotated? Then you can't take mods, so 720 > 360 > 0.
Do you have a robot that can only turn anticlockwise? Then maybe 5 < -10 < 355. This is the comparison implied by the implementation in TFA (self.degrees = degrees % 360), but it's pretty obscure.
> comparing two of them is conceptually pretty sensible.
Well, there are a bunch of sensible ways to do it, depending what the angle represents. You might not want to privilege any of them over the others directly in the class.
Is it a point on the unit circle? It doesn't make much sense to compare (sqrt(2), sqrt(2)) to (-1, 0).
Is it an angular distance to travel from point A to point B? Then you want 355 and -5 to both be less than 10.
Is it an amount that a screw has to be rotated? Then you can't take mods, so 720 > 360 > 0.
Do you have a robot that can only turn anticlockwise? Then maybe 5 < -10 < 355. This is the comparison implied by the implementation in TFA (self.degrees = degrees % 360), but it's pretty obscure.