[Python] Seemingly trivial issue calling int's __init__ in python

Discussão em 'Python' iniciado por Stack, Janeiro 29, 2025.

  1. Stack

    Stack Membro Participativo

    Observe the following Python 2.x code:

    class Angle(int):
    """Basic Angle object: Angle(number)"""

    def __init__(self, angle):
    angle %= 360
    super(Angle, self).__init__(angle)


    Fairly simple stuff, Angle is basically just an int that never goes above 360 or below 0. This __init__ just makes sure that the input angle matches the conditions listed prior. But for some reason the above code gives me the following output:

    >>> a = Angle(322)
    >>> a
    322
    >>> b = Angle(488)
    >>> b
    488


    Why on earth would this be happening? The code seemed so trivial to me, but maybe I'm just missing something really obvious.

    Continue reading...

Compartilhe esta Página