Middle
¿Cómo llamar a cada uno de los métodos de la clase A?
sobes.tech AI
Respuesta de la IA
Supongamos que tenemos una clase A con 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 llamar a cada método:
-
what_time— método normal, se llama a través de una instancia:a = A('hola') print(a.what_time()) -
useless_getter— propiedad, se llama como un atributo sin paréntesis:print(a.useless_getter) -
__private_or_public— método con doble guion bajo, el nombre cambia (name mangling), para llamar a:print(a._A__private_or_public()) -
__str__— método especial, se llama automáticamente al convertir a cadena:print(str(a))
Por lo tanto, para llamar a un método privado con doble guion bajo, se debe usar el nombre con la clase: _A__private_or_public().