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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.
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!