Olá Eduardo, tudo bem com você?
O modo apresentado estamos concedendo ao usuário acesso direto a um atributo de um objeto, nesse caso ao atributo self.valor
.
Quando fazemos o uso do self
estamos fazendo referência ao espaço de memória onde o objeto foi salvo, assim estamos proporcionando acesso ao atributo deste objeto; fazendo desta forma estaremos ferindo as regras de encapsulamento da orientação ao objeto, onde o acesso e a modificação de atributos deverá ser realizadas através dos métodos da classe, note que a entrada do usuário é salva diretamente no atributo do objeto.
Assim, é recomendado que o valor informado pelo usuário seja passado através do parâmetros do método da classe. Como por exemplo:
def deposita(self, valor):
self.saldo += valor
Para aprimorar ainda mais seu aprendizado sobre Orientação a objeto, recomendo a leitura do seguinte artigo, onde explica sobre o encapsulamento dos atributos e apresenta um panorama sobre os principais pontos da Orientação a objeto fazendo o uso de exemplos.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!