Middle
Como chamar cada um dos métodos da classe A?
sobes.tech IA
Resposta da IA
Vamos supor que temos uma classe A com métodos:
import time
class A:
def what_time(self):
return f'{time.time()}'
@property
def useless_getter(self):
return self.text
def __private_or_public(self):
return 1
def __str__(self):
return self.text
def __init__(self, text):
self.text = text
Para chamar cada método:
-
what_time— método normal, chamado através de uma instância:a = A('olá') print(a.what_time()) -
useless_getter— propriedade, chamado como um atributo sem parênteses:print(a.useless_getter) -
__private_or_public— método com duplo sublinhado, o nome muda (name mangling), para chamar:print(a._A__private_or_public()) -
__str__— método especial, chamado automaticamente ao converter para string:print(str(a))
Assim, para chamar um método privado com duplo sublinhado, deve-se usar o nome com a classe: _A__private_or_public().