Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

utilização de __class__

Não entendi como e para que se utiliza o

__class__

podem ser mais claros?

2 respostas
solução!

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