Python - Klasy i podstawy OOP

Nie rozumiem w pełni zajęć. Przeczytałem dokumentację Pythona i kilka innych samouczków. Dostaję podstawowe informacje na ten temat, ale nie rozumiem niuansów. Na przykład w moim kodzie tutaj:

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

(oryginalnyklawiatura kodowa)

Chciałbym zwrócić klasę whiteroom. Co jest, albo niemożliwe, albo niemożliwe do wykonania. Gdybyś mógł wyjaśnić, jak zwrócić klasę lub jak „połączyć” dwie klasy razem, tak że whiteroom powtarza się w innym, a inne pokoje (które byłyby klasami) są zwracane, gdy wywoływane byłoby niesamowite.

Jestem też bardzo chwiejny__init__ i wciąż nie jestem do końca pewien, jaki jest jego cel. Wszyscy mówią mi, że to „inicjalizuje”, co, jestem tego pewien, ale to nie pomaga mojemu mózgowi.

questionAnswers(5)

yourAnswerToTheQuestion