1
resposta

[Dúvida] Utilizando o self

Bom dia.

Por que que dentro do __init__ Não faz referência ao documento?

def __init__(self, documento):
        documento = str(documento)
        #self.documento = str(documento)

Muito obrigado.

1 resposta

Olá, Vinicius

A sua dúvida é muito pertinente. No código que você compartilhou, a linha self.documento = str(documento) está comentada. Isso significa que o valor de documento não está sendo atribuído a uma variável de instância da classe, que seria self.documento.

O self é uma referência à instância atual da classe e é usado para acessar as variáveis que pertencem à classe. Ele não é uma palavra-chave do Python, você pode escolher qualquer nome que quiser, mas por convenção e para facilitar a leitura do código, é sempre usado self.

No seu exemplo, ao fazer self.documento = str(documento), você estaria criando uma variável de instância chamada documento e atribuindo a ela o valor de documento convertido para string. Isso significa que você poderia acessar o valor de documento em outros métodos da classe usando self.documento.

Veja o exemplo abaixo:

class Cpf:
    def __init__(self, documento):
        self.documento = str(documento)

    def imprime_documento(self):
        print(self.documento)

Neste exemplo, o método imprime_documento consegue acessar o valor de documento porque ele foi atribuído a self.documento.

Espero ter ajudado e bons estudos!