Não entendi como e para que se utiliza o
__class__
podem ser mais claros?
Não entendi como e para que se utiliza o
__class__
podem ser mais claros?
Oi Michel, como você está? Espero que esteja bem
O método interno __class__
permite que possamos fazer uma referência a classe atual, permitindo o acesso a informações da mesma. Imagine a seguinte classe:
class Conta:
nome = "Michael" # esse é um atributo da classe
def __init__(self, titular):
self.titular = titular # esse é um atributo da instância(objeto)
@classmethod
def metodo(cls): # esse é um método da classe
return "chamando um método"
Utilizando o __class__
podemos acessar informações como nome da classe, atributo da classe ou algum método da classe, por exemplo:
# acessando nome da classe
conta = Conta("Erick")
print(conta.__class__.__name__)
Retorno: Conta
# acessando o atributo de classe 'nome'
print(conta.__class__.nome)
Retorno: Michael
# acessando um método da classe
print(conta.__class__.metodo())
Retorno: chamando um método
Também podemos utilizar o __class__
para verificar o tipo de uma instância:
print(conta.__class__ == Conta)
Resultado: True
Com o código acima estamos verificando se o objeto conta
é do tipo Conta
(classe).
No geral, esse dunder method(métodos que possuem duplo underscore na esquerda e direita) __class__
é utilizado em casos bem específicos, é importante saber que o mesmo existe e como podemos utilizá-lo a nosso favor.
Qualquer dúvida estou por aqui.
Abraços e bons estudos!
Muito obrigado cara vlw mesmo