Dlaczego dostęp do zmiennej klasowej z klasy wymaga „samo” w Pythonie? [duplikować]

Możliwy duplikat:
Python „self” wyjaśnił

Uczę się Pythona i mam pytanie, bardziej teoretyczne niż praktyczne, dotyczące zmiennych klasy dostępu z metody tej klasy.

Na przykład mamy:

class ExampleClass:
    x = 123
    def example_method(self):
        print(self.x)

Dlaczego koniecznie trzeba pisać dokładnieself.x, nie tylkox? x należy do przestrzeni nazw klasy, a metoda wykorzystująca ją również należy do niej. czego mi brakuje? Jakie uzasadnienie stoi za takim stylem?

W C ++ możesz napisać:

class ExampleClass {
public:
    int x;
    void example_method()
    {
        x = 123;
        cout << x;
    };
};

I to zadziała!

questionAnswers(4)

yourAnswerToTheQuestion