Back to questions
Middle
7
def what_time(): 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 Как вызвать каждый из методов класса A?
Companies where asked
Mayflower
Answer from 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().