Middle
Hoe roep je elk van de methoden van klasse A aan?
sobes.tech AI
Antwoord van AI
Laten we aannemen dat we een klasse A hebben met methoden:
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
Om elke methode aan te roepen:
-
what_time— gewone methode, wordt via een instantie aangeroepen:a = A('hallo') print(a.what_time()) -
useless_getter— eigenschap, wordt als attribuut zonder haakjes aangeroepen:print(a.useless_getter) -
__private_or_public— methode met dubbele onderstreping, de naam verandert (name mangling), om aan te roepen:print(a._A__private_or_public()) -
__str__— speciale methode, wordt automatisch aangeroepen bij conversie naar string:print(str(a))
Dus, om een privé-methode met dubbele onderstreping aan te roepen, moet je de naam met de klasse gebruiken: _A__private_or_public().