Por que acessar a variável de classe dentro da classe precisa de “self” em Python? [duplicado]
Duplicata Possível:
Python 'self' explicou
Estou aprendendo Python e tenho uma pergunta, mais teórica do que prática, sobre as variáveis de classe de acesso do método dessa classe.
Por exemplo, nós temos:
class ExampleClass:
x = 123
def example_method(self):
print(self.x)
Por que é necessariamente escrever exatamenteself.x
, não apenasx
? x
pertence ao namespace da classe, e o método que o utiliza também pertence a ele. o que estou perdendo? Que lógica está por trás de tal estilo?
Em C ++ você pode escrever:
class ExampleClass {
public:
int x;
void example_method()
{
x = 123;
cout << x;
};
};
E vai funcionar!