Middle
40
A класының әр әдісін қалай шақыруға болады?
Сұралған компаниялар
Mayflower
AI-дан жауап
sobes.tech AI
Предположим, у нас есть класс A с методами:
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
Чтобы вызвать каждый метод:
-
what_time— обычный метод, вызывается через экземпляр:a = A('hello') print(a.what_time()) -
useless_getter— свойство, вызывается как атрибут без скобок:print(a.useless_getter) -
__private_or_public— метод с двойным подчёркиванием, имя меняется (name mangling), чтобы вызвать:print(a._A__private_or_public()) -
__str__— специальный метод, вызывается автоматически при преобразовании в строку:print(str(a))
Таким образом, для вызова приватного метода с двойным подчёркиванием нужно использовать имя с классом: _A__private_or_public().