Middle
Kuidas kutsuda välja iga A klassi meetod?
sobes.tech AI
Vastus AI-lt
Oletame, et meil on klass A koos meetoditega:
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
Iga meetodi kutsumiseks:
-
what_time— tavaline meetod, kutsutakse näidise kaudu:a = A('tere') print(a.what_time()) -
useless_getter— omadus, kutsutakse kui atribuut ilma sulgudeta:print(a.useless_getter) -
__private_or_public— meetod topeltalakriipsuga, nimi muutub (name mangling), kutsumiseks:print(a._A__private_or_public()) -
__str__— eriline meetod, kutsutakse automaatselt stringiks konverteerimisel:print(str(a))
Seega, topeltalakriipsuga privaatmeetodi kutsumiseks tuleb kasutada klassi nimega seotud nime: _A__private_or_public().