Python - Classes e Noções Básicas de OOP

Eu não entendo completamente as classes. Eu li a documentação do python e vários outros tutoriais. Recebo a essência básica, mas não entendo a nuança. Por exemplo, no meu código aqui:

<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>

(originalcodificador)

Eu gostaria de devolver a sala de aula. O que é, ou não é possível, ou não está sendo feito corretamente. Se você pudesse esclarecer como retornar uma classe ou como "ligar" duas classes juntas para que o whiteroom se repita no else e nas outras salas (que seriam classes) sejam retornadas quando chamadas, isso seria incrível.

Também estou super instável em__init__ e ainda não tenho certeza de qual é o seu propósito. Todo mundo continua me dizendo que "inicializa", o que eu tenho certeza que faz, mas isso não parece estar ajudando meu cérebro.

questionAnswers(5)

yourAnswerToTheQuestion