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.
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!