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!