Python - Clases y conceptos básicos de OOP

No entiendo completamente las clases. He leído la documentación de python y varios otros tutoriales. Tengo la idea básica de eso, pero no entiendo el matiz. Por ejemplo en mi código aquí:

<code>class whiteroom():
    """ Pick a door: red, blue, green, or black. """

    do = raw_input("> ")

    if "red" in do:
        print "You entered the red room."

    elif "blue" in do:
        print "You entered the blue room."

    elif "green" in do:
        print "You entered the green room."

    elif "black" in do:
        print "You entered the black room."

    else:
        print "You sit patiently but slowly begin to stave.  You're running out of time."
        return whiteroom()

game = whiteroom()
game
</code>

(originalteclado)

Me gustaría devolver la clase whiteroom. Lo que es, o no es posible, o no se está haciendo correctamente. Si pudiera aclarar cómo devolver una clase o cómo "vincular" dos clases para que la sala blanca se repita en el otro y las otras salas (que serían clases) se devuelvan cuando se las llame, eso sería increíble.

También estoy super temblorosa en__init__ y todavía no estoy realmente seguro de cuál es su propósito. Todos me siguen diciendo que se "inicializa", lo cual estoy seguro de que sí, pero eso no parece estar ayudando a mi cerebro.

Respuestas a la pregunta(5)

Su respuesta a la pregunta